[gdm/wip/gdm-vt-switch-fixes: 1/6] local-display-factory: don't autoreap initial-setup



commit 7d1faca2692480d7a15d183bdceeab4172ca6021
Author: Ray Strode <rstrode redhat com>
Date:   Tue Sep 25 14:52:15 2018 -0400

    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) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]