diff options
author | Ray Strode <rstrode@redhat.com> | 2018-09-25 14:52:15 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2018-09-25 14:52:43 -0400 |
commit | 7d1faca2692480d7a15d183bdceeab4172ca6021 (patch) | |
tree | d90fbb292ef4ad47b578ff9f4c9db584a615a791 | |
parent | 5db19c5bd59c53663dc43d418b8ef9795b576c57 (diff) | |
download | gdm-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.c | 8 |
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) { |