summaryrefslogtreecommitdiff
path: root/src/seat.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2016-08-11 17:14:22 +1200
committerRobert Ancell <robert.ancell@canonical.com>2016-08-11 17:14:22 +1200
commit52edd5c0805a3c9b60549d5ca5104195bb636139 (patch)
treeb999639275475f0901ebe9c368fd08d37f300ce5 /src/seat.c
parent53889bf02ff7ae83a473ffcb986320889297ddb7 (diff)
downloadlightdm-git-52edd5c0805a3c9b60549d5ca5104195bb636139.tar.gz
Fix greeter being killing a started session once if a new authentication is started
Diffstat (limited to 'src/seat.c')
-rw-r--r--src/seat.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/seat.c b/src/seat.c
index 8f1053ea..8d53f875 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -1177,7 +1177,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_name);
+ session = g_object_ref (create_guest_session (seat, session_name));
if (!session)
return FALSE;
session_set_pam_service (session, seat_get_string_property (seat, "pam-autologin-service"));
@@ -1190,7 +1190,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
gchar *sessions_dir = NULL;
gchar **argv;
- session = greeter_get_authentication_session (greeter);
+ session = greeter_take_authentication_session (greeter);
/* Get session command to run */
switch (type)
@@ -1234,7 +1234,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
/* Switch to this session when it is ready */
g_clear_object (&seat->priv->session_to_activate);
- seat->priv->session_to_activate = g_object_ref (session);
+ seat->priv->session_to_activate = session;
/* Return to existing session if it is open */
username = session_get_username (session);