]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Revert changes made in revision 2032.
authorLaércio de Sousa <lbsousajr@gmail.com>
Mon, 25 Aug 2014 14:53:10 +0000 (11:53 -0300)
committerLaércio de Sousa <lbsousajr@gmail.com>
Mon, 25 Aug 2014 14:53:10 +0000 (11:53 -0300)
src/login1.c

index aeeb4a36afc550efe3d1e947a5939d9a34a81e78..dc725067f4156bec09ee603619f0fe57d671ada3 100644 (file)
@@ -289,22 +289,33 @@ signal_cb (GDBusConnection *connection,
            gpointer user_data)
 {
     Login1Service *service = user_data;
-    Login1Seat *seat;
-    const gchar *id, *path;
 
-    g_variant_get (parameters, "(&s&o)", &id, &path);
-    seat = login1_service_get_seat (service, id);
-
-    if (strcmp (signal_name, "SeatNew") == 0 && !seat)
+    if (strcmp (signal_name, "SeatNew") == 0)
     {
-        seat = add_seat (service, id, path);
-        g_signal_emit (service, signals[SEAT_ADDED], 0, seat);
+        const gchar *id, *path;
+        Login1Seat *seat;
+
+        g_variant_get (parameters, "(&s&o)", &id, &path);
+        seat = login1_service_get_seat (service, id);
+        if (!seat)
+        {
+            seat = add_seat (service, id, path);
+            g_signal_emit (service, signals[SEAT_ADDED], 0, seat);
+        }
     }
-    else if (strcmp (signal_name, "SeatRemoved") == 0 && seat)
+    else if (strcmp (signal_name, "SeatRemoved") == 0)
     {
-        service->priv->seats = g_list_remove (service->priv->seats, seat);            
-        g_signal_emit (service, signals[SEAT_REMOVED], 0, seat);
-        g_object_unref (seat);
+        const gchar *id, *path;
+        Login1Seat *seat;
+
+        g_variant_get (parameters, "(&s&o)", &id, &path);
+        seat = login1_service_get_seat (service, id);
+        if (seat)
+        {
+            service->priv->seats = g_list_remove (service->priv->seats, seat);            
+            g_signal_emit (service, signals[SEAT_REMOVED], 0, seat);
+            g_object_unref (seat);
+        }                        
     } 
 }