← Back to team overview

lightdm-gtk-greeter-team team mailing list archive

[Merge] lp:~lbssousa/lightdm-gtk-greeter/1.8-fix-timed-autologin into lp:lightdm-gtk-greeter/1.8

 

Laércio de Sousa has proposed merging lp:~lbssousa/lightdm-gtk-greeter/1.8-fix-timed-autologin into lp:lightdm-gtk-greeter/1.8.

Requested reviews:
  LightDM Gtk+ Greeter Development Team (lightdm-gtk-greeter-team)

For more details, see:
https://code.launchpad.net/~lbssousa/lightdm-gtk-greeter/1.8-fix-timed-autologin/+merge/257520

This patch fixes a timed autologin issue. Currently, when autologin timeout expires, and configured autologin user is already selected in user list, lightdm-gtk-greeter's authentication_complete_cb() doesn't start user session unless user clicks on login button.
-- 
Your team LightDM Gtk+ Greeter Development Team is requested to review the proposed merge of lp:~lbssousa/lightdm-gtk-greeter/1.8-fix-timed-autologin into lp:lightdm-gtk-greeter/1.8.
=== modified file 'src/lightdm-gtk-greeter.c'
--- src/lightdm-gtk-greeter.c	2014-05-02 11:03:59 +0000
+++ src/lightdm-gtk-greeter.c	2015-04-27 12:46:49 +0000
@@ -1427,6 +1427,29 @@
 }
 
 static void
+timed_autologin_cb (LightDMGreeter *greeter)
+{   
+    if (lightdm_greeter_get_is_authenticated (greeter))
+    {   
+        /* Configured autologin user may be already selected in user list. */
+        if (lightdm_greeter_get_authentication_user (greeter))
+            /* Selected user matches configured autologin-user option. */
+            start_session ();
+        else if (lightdm_greeter_get_autologin_guest_hint (greeter))
+            /* "Guest session" is selected and autologin-guest is enabled. */
+            start_session ();
+        else if (lightdm_greeter_get_autologin_user_hint (greeter))
+        {
+            /* "Guest session" is selected, but autologin-user is configured. */
+            start_authentication (lightdm_greeter_get_autologin_user_hint (greeter));
+            prompted = TRUE;
+        }
+    }
+    else
+        lightdm_greeter_authenticate_autologin (greeter);
+}
+
+static void
 authentication_complete_cb (LightDMGreeter *greeter)
 {
     prompt_active = FALSE;
@@ -2309,7 +2332,7 @@
     g_signal_connect (greeter, "show-prompt", G_CALLBACK (show_prompt_cb), NULL);  
     g_signal_connect (greeter, "show-message", G_CALLBACK (show_message_cb), NULL);
     g_signal_connect (greeter, "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL);
-    g_signal_connect (greeter, "autologin-timer-expired", G_CALLBACK (lightdm_greeter_authenticate_autologin), NULL);
+    g_signal_connect (greeter, "autologin-timer-expired", G_CALLBACK (timed_autologin_cb), NULL);
     if (!lightdm_greeter_connect_sync (greeter, NULL))
         return EXIT_FAILURE;
 


Follow ups