diff options
author | Jonas Ã…dahl <jadahl@gmail.com> | 2021-10-28 15:30:41 +0200 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2021-12-07 16:38:20 +0000 |
commit | ad0d70d5d5bfbbc91f692b578afc1b41465fa18b (patch) | |
tree | 8c4ddf88b8528c0fcf323798642058d7fcf69993 /src/wayland/meta-wayland.c | |
parent | 754c8345903a0d40fb9a0dacb3239a2207cff392 (diff) | |
download | mutter-ad0d70d5d5bfbbc91f692b578afc1b41465fa18b.tar.gz |
wayland: Detach event source on tear down
No reason keeping it attached; would one continue using a main loop on
the default main context after tear down, we'd get callbacks causing
use-after-free issues.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2140>
Diffstat (limited to 'src/wayland/meta-wayland.c')
-rw-r--r-- | src/wayland/meta-wayland.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c index 3381a497e..dccf0da10 100644 --- a/src/wayland/meta-wayland.c +++ b/src/wayland/meta-wayland.c @@ -436,6 +436,7 @@ meta_wayland_compositor_finalize (GObject *object) g_clear_pointer (&compositor->display_name, g_free); g_clear_pointer (&compositor->wayland_display, wl_display_destroy); + g_clear_pointer (&compositor->source, g_source_destroy); G_OBJECT_CLASS (meta_wayland_compositor_parent_class)->finalize (object); } @@ -542,6 +543,8 @@ meta_wayland_compositor_new (MetaContext *context) */ g_source_set_priority (wayland_event_source, GDK_PRIORITY_EVENTS + 1); g_source_attach (wayland_event_source, NULL); + compositor->source = wayland_event_source; + g_source_unref (wayland_event_source); g_signal_connect (stage, "after-update", G_CALLBACK (on_after_update), compositor); |