chiark / gitweb /
logind: call udev_device_get_is_initialized() to trigger lazy loading, as a temporary...
[elogind.git] / src / logind-seat.c
index bc695fea837f7daddd9e9393443e952deaec548f..11b3a65b64354700746515bb653d146834d3df9e 100644 (file)
@@ -186,13 +186,15 @@ static int vt_allocate(int vtnr) {
         return r;
 }
 
-static int seat_preallocate_vts(Seat *s) {
+int seat_preallocate_vts(Seat *s) {
         int r = 0;
         unsigned i;
 
         assert(s);
         assert(s->manager);
 
+        log_debug("Preallocating VTs...");
+
         if (s->manager->n_autovts <= 0)
                 return 0;
 
@@ -251,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;
 }
@@ -338,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;