[mutter] wayland: Terminate Xwayland when shutting down



commit c614cc3e82941198b90963e71ef04d907a6bc854
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Mon Apr 12 14:58:06 2021 +0200

    wayland: Terminate Xwayland when shutting down
    
    This is less confusing to Xwayland than suddenly loosing the Wayland
    socket connection.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1822>

 src/wayland/meta-xwayland.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
index 274d9b3ccc..a2fb578abb 100644
--- a/src/wayland/meta-xwayland.c
+++ b/src/wayland/meta-xwayland.c
@@ -574,6 +574,16 @@ xserver_died (GObject      *source,
     }
 }
 
+static void
+meta_xwayland_terminate (MetaXWaylandManager *manager)
+{
+  MetaDisplay *display = meta_get_display ();
+
+  g_clear_handle_id (&manager->xserver_grace_period_id, g_source_remove);
+  meta_display_shutdown_x11 (display);
+  meta_xwayland_stop_xserver (manager);
+}
+
 static gboolean
 shutdown_xwayland_cb (gpointer data)
 {
@@ -591,8 +601,7 @@ shutdown_xwayland_cb (gpointer data)
 
   meta_verbose ("Shutting down Xwayland");
   manager->xserver_grace_period_id = 0;
-  meta_display_shutdown_x11 (display);
-  meta_xwayland_stop_xserver (manager);
+  meta_xwayland_terminate (manager);
   return G_SOURCE_REMOVE;
 }
 
@@ -1289,7 +1298,7 @@ meta_xwayland_shutdown (MetaXWaylandManager *manager)
                           x_io_error_exit_noop, NULL);
 #endif
 
-  meta_display_shutdown_x11 (meta_get_display ());
+  meta_xwayland_terminate (manager);
 
   snprintf (path, sizeof path, "%s%d", X11_TMP_UNIX_PATH,
             manager->public_connection.display_index);


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