mirror of
https://github.com/brl/mutter.git
synced 2024-12-27 05:12:15 +00:00
display: Fix destruction order
MetaCompositorX11 might need the MetaDisplay's x11_display during shutdown (meta_sync_ring_destroy -> meta_sync_free), and `meta_display_shutdown_x11()` needs the MetaStack as it calls `meta_stack_{freeze,thaw}()`. So fix the order of destruction so that dependencies are destroyed after dependants. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2852 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3202>
This commit is contained in:
parent
d6b3679bd3
commit
9c3b130f67
@ -1257,13 +1257,12 @@ meta_display_close (MetaDisplay *display,
|
|||||||
/* Stop caring about events */
|
/* Stop caring about events */
|
||||||
meta_display_free_events (display);
|
meta_display_free_events (display);
|
||||||
|
|
||||||
meta_display_shutdown_x11 (display);
|
|
||||||
|
|
||||||
g_clear_object (&display->stack);
|
|
||||||
g_clear_pointer (&display->stack_tracker,
|
g_clear_pointer (&display->stack_tracker,
|
||||||
meta_stack_tracker_free);
|
meta_stack_tracker_free);
|
||||||
|
|
||||||
g_clear_pointer (&display->compositor, meta_compositor_destroy);
|
g_clear_pointer (&display->compositor, meta_compositor_destroy);
|
||||||
|
meta_display_shutdown_x11 (display);
|
||||||
|
g_clear_object (&display->stack);
|
||||||
|
|
||||||
/* Must be after all calls to meta_window_unmanage() since they
|
/* Must be after all calls to meta_window_unmanage() since they
|
||||||
* unregister windows
|
* unregister windows
|
||||||
|
Loading…
Reference in New Issue
Block a user