From 123b40105d2dd84615688ccd5f99aeeabec60c1d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 14 Jun 2019 16:49:04 +0200 Subject: [PATCH] x11: Shuffle x11-stack destruction in MetaX11Display dispose Unmanaging the windows may trigger stack operations that we later try to synchronize despite being in dispose() stage. This may trigger MetaStackTracker warnings when trying to apply those operations. Switching destruction order (First dispose the X11 stack representation, then unmanage windows) won't trigger further stack changes on X11 windows after having signaled MetaDisplay::x11-display-closing. https://gitlab.gnome.org/GNOME/mutter/merge_requests/709 --- src/x11/meta-x11-display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c index 6f20797e6..0fb71a260 100644 --- a/src/x11/meta-x11-display.c +++ b/src/x11/meta-x11-display.c @@ -135,11 +135,11 @@ meta_x11_display_dispose (GObject *object) meta_x11_display_ungrab_keys (x11_display); + g_clear_object (&x11_display->x11_stack); + meta_x11_selection_shutdown (x11_display); meta_x11_display_unmanage_windows (x11_display); - g_clear_object (&x11_display->x11_stack); - if (x11_display->ui) { meta_ui_free (x11_display->ui);