]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: Don't try to emit a change signal for the 'Sessions' property (#5211)
authorafrantzis <alexandros.frantzis@canonical.com>
Fri, 3 Feb 2017 01:39:26 +0000 (03:39 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 3 Feb 2017 01:39:26 +0000 (20:39 -0500)
The 'Sessions' property for both org.freedesktop.login1.User and
org.freedesktop.login1.Seat is marked as EmitsChangedSignal(false).
Trying to emit a change signal that includes the 'Sessions' property
leads to the signal not being sent at all.

Fixes #5210.

src/login/logind-seat.c
src/login/logind-session.c

index f0d8a1f55452c3af65016a21655a18b0e265c89d..bfbd07309d055a487f5a89d83470b6fe72951a1a 100644 (file)
@@ -541,8 +541,6 @@ int seat_attach_session(Seat *s, Session *session) {
         LIST_PREPEND(sessions_by_seat, s->sessions, session);
         seat_assign_position(s, session);
 
-        seat_send_changed(s, "Sessions", NULL);
-
         /* On seats with VTs, the VT logic defines which session is active. On
          * seats without VTs, we automatically activate new sessions. */
         if (!seat_has_vts(s))
index d8bb1ea0a84e603469f672636abff92627e25d38..fd7fcf7f2c1019a939d2ad859f857f3a87459b29 100644 (file)
@@ -586,12 +586,10 @@ int session_start(Session *s) {
 
         /* Send signals */
         session_send_signal(s, true);
-        user_send_changed(s->user, "Sessions", "Display", NULL);
+        user_send_changed(s->user, "Display", NULL);
         if (s->seat) {
                 if (s->seat->active == s)
-                        seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL);
-                else
-                        seat_send_changed(s->seat, "Sessions", NULL);
+                        seat_send_changed(s->seat, "ActiveSession", NULL);
         }
 
         return 0;
@@ -698,11 +696,10 @@ int session_finalize(Session *s) {
                         seat_set_active(s->seat, NULL);
 
                 seat_save(s->seat);
-                seat_send_changed(s->seat, "Sessions", NULL);
         }
 
         user_save(s->user);
-        user_send_changed(s->user, "Sessions", "Display", NULL);
+        user_send_changed(s->user, "Display", NULL);
 
         return 0;
 }