summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2018-09-25 14:52:15 -0400
committerRay Strode <rstrode@redhat.com>2018-09-25 14:52:43 -0400
commit7d1faca2692480d7a15d183bdceeab4172ca6021 (patch)
treed90fbb292ef4ad47b578ff9f4c9db584a615a791
parent5db19c5bd59c53663dc43d418b8ef9795b576c57 (diff)
downloadgdm-7d1faca2692480d7a15d183bdceeab4172ca6021.tar.gz
local-display-factory: don't autoreap initial-setup
We automatically kill the login screen when switching VTs away from it, but we should never kill the initial-setup screen in that situation. This commit adds a check to prevent that from happening.
-rw-r--r--daemon/gdm-local-display-factory.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index c15a9a65..fc6865eb 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -629,6 +629,7 @@ maybe_stop_greeter_in_background (GdmLocalDisplayFactory *factory,
GdmDisplay *display)
{
g_autofree char *display_session_type = NULL;
+ gboolean doing_initial_setup = FALSE;
if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED) {
g_debug ("GdmLocalDisplayFactory: login window not in managed state, so ignoring");
@@ -637,8 +638,15 @@ maybe_stop_greeter_in_background (GdmLocalDisplayFactory *factory,
g_object_get (G_OBJECT (display),
"session-type", &display_session_type,
+ "doing-initial-setup", &doing_initial_setup,
NULL);
+ /* we don't ever stop initial-setup implicitly */
+ if (doing_initial_setup) {
+ g_debug ("GdmLocalDisplayFactory: login window is performing initial-setup, so ignoring");
+ return;
+ }
+
/* we can only stop greeter for wayland sessions, since
* X server would jump back on exit */
if (g_strcmp0 (display_session_type, "wayland") != 0) {