From dd887dcf4770309fca127217660c5142a463e2c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 27 Aug 2024 11:33:23 +0200 Subject: [PATCH 3/5] window: Unregister cgroup on unmanage() This means any potential reference held by gjs will not hold the cgroup alive longer than necessary. --- src/core/window.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index 142aa0eca1..272d664965 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -339,8 +339,6 @@ meta_window_finalize (GObject *object) g_free (window->sm_client_id); g_free (window->wm_client_machine); - meta_display_unregister_cgroup (window->display, window); - g_free (window->startup_id); g_free (window->role); g_free (window->res_class); @@ -1467,6 +1465,8 @@ meta_window_unmanage (MetaWindow *window, meta_verbose ("Unmanaging %s", window->desc); window->unmanaging = TRUE; + meta_display_unregister_cgroup (window->display, window); + g_clear_handle_id (&window->unmanage_idle_id, g_source_remove); g_signal_emit (window, window_signals[UNMANAGING], 0); -- 2.44.0.501.g19981daefd.dirty