X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogind-seat.c;fp=src%2Flogind-seat.c;h=26c2bd4f5e91d11766647e36a87a1a485a0f4708;hb=98a28fef2618e54a644614c759f371f297381b70;hp=12a1b806470efee273cc7a891c20d4afede58f3b;hpb=77527da0a02029ce9c5ec86d5db5ea42147a658f;p=elogind.git diff --git a/src/logind-seat.c b/src/logind-seat.c index 12a1b8064..26c2bd4f5 100644 --- a/src/logind-seat.c +++ b/src/logind-seat.c @@ -41,7 +41,7 @@ Seat *seat_new(Manager *m, const char *id) { if (!s) return NULL; - s->state_file = strappend("/run/systemd/seat/", id); + s->state_file = strappend("/run/systemd/seats/", id); if (!s->state_file) { free(s); return NULL; @@ -86,7 +86,7 @@ int seat_save(Seat *s) { assert(s); - r = safe_mkdir("/run/systemd/seat", 0755, 0, 0); + r = safe_mkdir("/run/systemd/seats", 0755, 0, 0); if (r < 0) goto finish; @@ -246,6 +246,14 @@ int seat_set_active(Seat *s, Session *session) { if (!session || session->started) seat_send_changed(s, "ActiveSession\0"); + seat_save(s); + + if (session) + session_save(session); + + if (old_active) + session_save(old_active); + return 0; }