X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-seat.c;h=f88738ab1676c769d8d6bbb3b87be6059f75be3d;hp=3dc529b2b9bd5ff1c054b0458a0246c42f9d1d12;hb=118ecf32425a590ea266b5c2b6de7962bb242356;hpb=360e09ea9ad3a8e84e1729ebd2967ab8f7348170 diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 3dc529b2b..f88738ab1 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -246,10 +246,15 @@ int seat_set_active(Seat *s, Session *session) { old_active = s->active; s->active = session; + if (old_active) + session_device_pause_all(old_active); + seat_apply_acls(s, old_active); - if (session && session->started) + if (session && session->started) { session_send_changed(session, "Active\0"); + session_device_resume_all(session); + } if (!session || session->started) seat_send_changed(s, "ActiveSession\0");