diff -up gdm-3.5.90/daemon/gdm-local-display-factory.c.dave gdm-3.5.90/daemon/gdm-local-display-factory.c
--- gdm-3.5.90/daemon/gdm-local-display-factory.c.dave	2012-08-06 23:23:38.000000000 -0400
+++ gdm-3.5.90/daemon/gdm-local-display-factory.c	2012-08-26 23:26:06.942354773 -0400
@@ -449,9 +449,9 @@ on_seat_new (GDBusConnection *connection
              GVariant        *parameters,
              gpointer         user_data)
 {
-        const char *seat;
+        const char *seat, *obj_path;
 
-        g_variant_get (parameters, "(&s)", &seat);
+        g_variant_get (parameters, "(so)", &seat, &obj_path);
         create_display (GDM_LOCAL_DISPLAY_FACTORY (user_data), seat, FALSE);
 }
 
@@ -464,9 +464,9 @@ on_seat_removed (GDBusConnection *connec
                  GVariant        *parameters,
                  gpointer         user_data)
 {
-        const char *seat;
+        const char *seat, *obj_path;
 
-        g_variant_get (parameters, "(&s)", &seat);
+        g_variant_get (parameters, "(so)", &seat, &obj_path);
         delete_display (GDM_LOCAL_DISPLAY_FACTORY (user_data), seat);
 }
 
