mutter/src/x11
Carlos Garnacho cc874f5d33 x11: Avoid poking MetaCompositor during MetaDisplay destruction
Commit 9c3b130f67 changed slightly destruction order to handle use-after-free
situations, but missed a small new one introduced by the order change: The
MetaX11Display may schedule callbacks through MetaLaters, which depend on the
MetaCompositor, which is now freed before the MetaX11Display.

Since there is no winning move here, make the MetaX11Display aware of this
by avoiding to remove the callback if the MetaCompositor is already gone.
The MetaLaters infrastructure is already fully freed at this point (incl. the
data it contained), so this shouldn't be a leak.

Fixes: 9c3b130f67 ("display: Fix destruction order")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3247>
2023-09-06 09:28:09 +00:00
..
atomnames.h Remove support for window shading 2023-03-03 19:17:51 +00:00
events.c x11/events: Don't define an unused function when tracing is disabled 2023-08-31 22:18:11 +00:00
events.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group-props.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
group-props.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
iconcache.c iconcache: Avoid xrender picture formats when creating cairo surface 2019-08-27 18:47:41 +03:00
iconcache.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-selection-source-x11-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-x11.c Update license access method 2023-08-30 08:48:23 +02:00
meta-startup-notification-x11.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-startup-notification-x11.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-sync-counter.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
meta-sync-counter.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-display-private.h x11: Replace Mutter X11 errors with Mtk ones 2023-09-02 09:52:54 +00:00
meta-x11-display.c x11: Avoid poking MetaCompositor during MetaDisplay destruction 2023-09-06 09:28:09 +00:00
meta-x11-errors.c x11: Replace Mutter X11 errors with Mtk ones 2023-09-02 09:52:54 +00:00
meta-x11-event-source.c Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-event-source.h Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-selection-input-stream-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-selection-input-stream.c x11: Remove unused member variables from MetaX11SelectionInputStream 2023-04-14 13:27:19 +00:00
meta-x11-selection-output-stream-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-selection-output-stream.c x11: Use Atoms when constructing a new MetaX11SelectionOutputStream 2023-04-14 13:27:19 +00:00
meta-x11-selection-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-selection.c Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-stack-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-stack.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
mutter-Xatomtype.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
session.c cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
session.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
window-props.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
window-props.h cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
window-x11-private.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
window-x11.c x11: Find nearest input affecting _NET_WM_MOVERESIZE X11 requests on Wayland 2023-09-03 20:59:16 +00:00
window-x11.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
xprops.c x11: Drop unused function 2022-12-09 16:28:33 +00:00
xprops.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00