diff --git a/src/wayland/meta-wayland-activation.c b/src/wayland/meta-wayland-activation.c index 5741b958f..73faa1914 100644 --- a/src/wayland/meta-wayland-activation.c +++ b/src/wayland/meta-wayland-activation.c @@ -375,6 +375,13 @@ bind_activation (struct wl_client *client, wl_resource_get_link (resource)); } +void +meta_wayland_activation_finalize (MetaWaylandCompositor *compositor) +{ + g_hash_table_destroy (compositor->activation->tokens); + g_clear_pointer (&compositor->activation, g_free); +} + void meta_wayland_activation_init (MetaWaylandCompositor *compositor) { diff --git a/src/wayland/meta-wayland-activation.h b/src/wayland/meta-wayland-activation.h index 8fcc0fa42..ed4e67737 100644 --- a/src/wayland/meta-wayland-activation.h +++ b/src/wayland/meta-wayland-activation.h @@ -27,6 +27,8 @@ #include "wayland/meta-wayland-types.h" +void meta_wayland_activation_finalize (MetaWaylandCompositor *compositor); + void meta_wayland_activation_init (MetaWaylandCompositor *compositor); #endif /* META_WAYLAND_ACTIVATION_H */ diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c index fff07b778..89ce831f5 100644 --- a/src/wayland/meta-wayland.c +++ b/src/wayland/meta-wayland.c @@ -448,6 +448,8 @@ meta_wayland_compositor_finalize (GObject *object) MetaBackend *backend = meta_context_get_backend (compositor->context); ClutterActor *stage = meta_backend_get_stage (backend); + meta_wayland_activation_finalize (compositor); + g_hash_table_destroy (compositor->scheduled_surface_associations); g_signal_handlers_disconnect_by_func (stage, on_after_update, compositor);