From 7d1faca2692480d7a15d183bdceeab4172ca6021 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 25 Sep 2018 14:52:15 -0400 Subject: 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. --- daemon/gdm-local-display-factory.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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) { -- cgit v1.2.1