lightdm-gtk-greeter-team team mailing list archive
-
lightdm-gtk-greeter-team team
-
Mailing list archive
-
Message #00850
[Merge] lp:~lbssousa/lightdm-gtk-greeter/2.0-fix-timed-autologin into lp:lightdm-gtk-greeter/2.0
Laércio de Sousa has proposed merging lp:~lbssousa/lightdm-gtk-greeter/2.0-fix-timed-autologin into lp:lightdm-gtk-greeter/2.0.
Requested reviews:
LightDM Gtk+ Greeter Development Team (lightdm-gtk-greeter-team)
Related bugs:
Bug #854261 in LightDM GTK+ Greeter: "Delayed Autologin broken by User List in Greeter"
https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/854261
For more details, see:
https://code.launchpad.net/~lbssousa/lightdm-gtk-greeter/2.0-fix-timed-autologin/+merge/257542
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/2.0-fix-timed-autologin into lp:lightdm-gtk-greeter/2.0.
=== modified file 'src/lightdm-gtk-greeter.c'
--- src/lightdm-gtk-greeter.c 2015-01-26 14:41:10 +0000
+++ src/lightdm-gtk-greeter.c 2015-04-27 16:08:07 +0000
@@ -2305,6 +2305,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;
@@ -2678,7 +2701,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