summaryrefslogtreecommitdiff
path: root/src/logind-seat.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-06-28 03:52:22 +0200
committerLennart Poettering <lennart@poettering.net>2011-06-28 03:52:22 +0200
commit7f7bb9467931e855cdf5ec46e53c8eb46aa778f5 (patch)
tree901641661ffcfaa8258be65c225065b2b9c2a599 /src/logind-seat.c
parent30ed21ceb133173c849151c9fd6848bb34bb29bf (diff)
logind: implement SetUserLinger() D-Bus call
Diffstat (limited to 'src/logind-seat.c')
-rw-r--r--src/logind-seat.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/logind-seat.c b/src/logind-seat.c
index ed67bc9eea..11b3a65b64 100644
--- a/src/logind-seat.c
+++ b/src/logind-seat.c
@@ -253,11 +253,15 @@ int seat_set_active(Seat *s, Session *session) {
seat_save(s);
- if (session)
+ if (session) {
session_save(session);
+ user_save(session->user);
+ }
- if (old_active)
+ if (old_active) {
session_save(old_active);
+ user_save(old_active->user);
+ }
return 0;
}
@@ -340,11 +344,11 @@ int seat_start(Seat *s) {
/* Read current VT */
seat_read_active_vt(s);
+ s->started = true;
+
/* Save seat data */
seat_save(s);
- s->started = true;
-
seat_send_signal(s, true);
return 0;