[mutter] window: Guard can_ping() against unmanaging windows



commit 81f369480424fb5dd151f44c36104b3d237d789c
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed Jan 20 11:55:10 2021 +0100

    window: Guard can_ping() against unmanaging windows
    
    We remove pending pings when unmanaging a window, but currently
    don't prevent new pings to be scheduled after that.
    
    The previous commit fixed a code path where this did indeed happen,
    but as the result of gnome-shell trying to attach a Clutter actor
    to a non-existent window actor is pretty bad, also guard can_ping()
    against being called for an unmanaging window.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2467
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1676>

 src/core/window.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/src/core/window.c b/src/core/window.c
index 83748051e3..94db840675 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -8620,6 +8620,8 @@ meta_window_is_focusable (MetaWindow *window)
 gboolean
 meta_window_can_ping (MetaWindow *window)
 {
+  g_return_val_if_fail (!window->unmanaging, FALSE);
+
   return META_WINDOW_GET_CLASS (window)->can_ping (window);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]