diff options
author | Ray Strode <rstrode@redhat.com> | 2018-08-30 16:04:41 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2018-08-31 16:43:21 -0400 |
commit | 80b46e2bbb53842e7c5b568dd0237fb523a021ea (patch) | |
tree | 28fe925c222c2e4908dd88895914b2bdcfaddb60 /daemon/gdm-manager.c | |
parent | a6f5373522acd5f753d330478b605c9812a3e5ae (diff) | |
download | gdm-80b46e2bbb53842e7c5b568dd0237fb523a021ea.tar.gz |
manager: don't set ran_once after running initial-setup
GdmManager tracks whether or not the user session has ran
once, so it won't autologin a user again after logout.
Unfortunately the initial-setup session was counting toward the
ran_once count preventing initial-setup from logging the user
in afterward.
This commit prevents ran_once from getting set in that case.
Diffstat (limited to 'daemon/gdm-manager.c')
-rw-r--r-- | daemon/gdm-manager.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index b42e9b9e..9b684b1f 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -1484,10 +1484,12 @@ on_display_status_changed (GdmDisplay *display, char *session_type = NULL; #ifdef WITH_PLYMOUTH gboolean display_is_local = FALSE; + gboolean doing_initial_setup = FALSE; gboolean quit_plymouth = FALSE; g_object_get (display, "is-local", &display_is_local, + "doing-initial-setup", &doing_initial_setup, NULL); quit_plymouth = display_is_local && manager->priv->plymouth_is_running; #endif @@ -1528,7 +1530,7 @@ on_display_status_changed (GdmDisplay *display, } #endif - if (status == GDM_DISPLAY_FINISHED || g_strcmp0 (session_type, "x11") == 0) { + if (!doing_initial_setup && (status == GDM_DISPLAY_FINISHED || g_strcmp0 (session_type, "x11") == 0)) { manager->priv->ran_once = TRUE; } maybe_start_pending_initial_login (manager, display); |