]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - src/seat.c
Merge in guest session type branch
[sojka/lightdm.git] / src / seat.c
index 5b1cce168621e2d9dd8bc50fb30b94a9ad9b5a68..8d1e621b223f0a41b65c7289a15d32ccf73a887f 100644 (file)
@@ -924,14 +924,15 @@ prepend_argv (gchar ***argv, const gchar *value)
 }
 
 static Session *
-create_guest_session (Seat *seat)
+create_guest_session (Seat *seat, const gchar *session_name)
 {
-    const gchar *session_name, *guest_wrapper;
+    const gchar *guest_wrapper;
     gchar *sessions_dir, **argv;
     SessionConfig *session_config;
     Session *session;
 
-    session_name = seat_get_string_property (seat, "guest-session");
+    if (!session_name)
+        session_name = seat_get_string_property (seat, "guest-session");
     if (!session_name)
         session_name = seat_get_string_property (seat, "user-session");
     sessions_dir = config_get_string (config_get_instance (), "LightDM", "sessions-directory");
@@ -986,7 +987,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
     /* Get the session to use */
     if (greeter_get_guest_authenticated (greeter))
     {
-        session = create_guest_session (seat);
+        session = create_guest_session (seat, session_name);
         if (!session)
             return FALSE;
         session_set_pam_service (session, AUTOLOGIN_SERVICE);
@@ -1397,7 +1398,7 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
         return TRUE;
     }
 
-    session = create_guest_session (seat);
+    session = create_guest_session (seat, session_name);
     if (!session)
         return FALSE;
 
@@ -1513,7 +1514,7 @@ seat_real_start (Seat *seat)
     if (autologin_timeout == 0 || autologin_in_background)
     {
         if (autologin_guest)
-            session = create_guest_session (seat);
+            session = create_guest_session (seat, NULL);
         else if (autologin_username != NULL)
             session = create_user_session (seat, autologin_username, TRUE);