]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Fix freed variable getting guest account
authorRobert Ancell <robert.ancell@canonical.com>
Thu, 21 Jul 2011 23:13:44 +0000 (09:13 +1000)
committerRobert Ancell <robert.ancell@canonical.com>
Thu, 21 Jul 2011 23:13:44 +0000 (09:13 +1000)
src/seat.c
tests/scripts/switch-to-guest.conf
tests/scripts/switch-to-guest.script
tests/src/test-guest-account

index eca18c5ea6baa3269d7b705cc4e80116de13f1d2..1bf6af1b26954c1f753e49045831081b3e92c578 100644 (file)
@@ -187,7 +187,7 @@ display_get_guest_username_cb (Display *display, Seat *seat)
         return seat->priv->guest_username;
 
     seat->priv->guest_username = guest_account_setup ();
-    return seat->priv->guest_username;
+    return g_strdup (seat->priv->guest_username);
 }
 
 static void
@@ -315,7 +315,10 @@ seat_switch_to_guest (Seat *seat)
     if (!seat->priv->can_switch || !seat_get_allow_guest (seat))
         return FALSE;
 
-    g_debug ("Switching to guest account");
+    if (seat->priv->guest_username)
+        g_debug ("Switching to existing guest account %s", seat->priv->guest_username);
+    else
+        g_debug ("Switching to new guest account");
     return switch_to_user (seat, seat->priv->guest_username, TRUE, TRUE);
 }
 
index 0077074d9beae1846623993923cae23c81ef857a..a9d8d87247864dd5ef482928ccc4a927aeaad646 100644 (file)
@@ -1,2 +1,5 @@
 [LightDM]
 guest-account-script=test-guest-account
+
+[SeatDefaults]
+autologin-user=alice
index 88f0e95058399c674273c8bb4060cbbdf61d6c0c..999295836c07068f2a76146119ea6d2a7f72beb0 100644 (file)
@@ -9,21 +9,15 @@ RUNNER DAEMON-START
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
 
-# Greeter starts
-GREETER START
+# Default session starts
+SESSION START USER=alice
 XSERVER :50 ACCEPT-CONNECT
-GREETER CONNECT-XSERVER :50
-GREETER CONNECT-TO-DAEMON
-GREETER CONNECTED-TO-DAEMON
+SESSION CONNECT-XSERVER
 
 # Switch to guest
 *SWITCH-TO-GUEST
 RUNNER SWITCH-TO-GUEST
 
-# Existing X server and greeter stops
-XSERVER :50 TERMINATE SIGNAL=15
-GREETER TERMINATE SIGNAL=15
-
 # New X server starts
 XSERVER :51 START
 XSERVER :51 INDICATE-READY
@@ -41,6 +35,8 @@ RUNNER SWITCH-TO-GUEST
 # Cleanup
 *STOP-DAEMON
 # Don't know what order they will terminate
-(SESSION TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
-(SESSION TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15|XSERVER :51 TERMINATE SIGNAL=15)
 RUNNER DAEMON-EXIT STATUS=0
index 001284f37874a280b1b369ba3319c69a80a8bf0d..c7e51616ddef3cd41be13988036df36cc5e29fca 100755 (executable)
@@ -39,7 +39,11 @@ case "$1" in
     add_account
     ;;
   remove)
-    remove_account
+    if [ -z $2 ] ; then
+      echo "Usage: $0 remove [account]"
+      exit 1
+    fi
+    remove_account $2
     ;;
   *)
     echo "Usage: $0 add|remove"