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
This commit is contained in:
Carlos Garnacho 2019-06-14 16:49:04 +02:00 committed by Carlos Garnacho
parent 7ef32f747b
commit 123b40105d

View File

@ -135,11 +135,11 @@ meta_x11_display_dispose (GObject *object)
meta_x11_display_ungrab_keys (x11_display); meta_x11_display_ungrab_keys (x11_display);
g_clear_object (&x11_display->x11_stack);
meta_x11_selection_shutdown (x11_display); meta_x11_selection_shutdown (x11_display);
meta_x11_display_unmanage_windows (x11_display); meta_x11_display_unmanage_windows (x11_display);
g_clear_object (&x11_display->x11_stack);
if (x11_display->ui) if (x11_display->ui)
{ {
meta_ui_free (x11_display->ui); meta_ui_free (x11_display->ui);