[mutter] display: Do not include unmanaging windows in list_windows()



commit c0bdb3018b6b839a08a2282e84bd4fe2aa45887f
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Oct 7 17:13:15 2014 +0200

    display: Do not include unmanaging windows in list_windows()
    
    There's a small window before a window that is being unmanaged is
    unregistered with the display. The MetaScreen::window-left-monitor
    and MetaWorkspace::window-removed emissions fall right into that
    window, so code that runs in that time may well be out of our
    control; we can make sure that the method it can use to get an
    updated list of windows no longer contains the destroyed window
    though, which is a much better option than expecting everyone to
    filter the list themselves.

 src/core/display.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 14bcebe..4669593 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1007,7 +1007,7 @@ meta_display_list_windows (MetaDisplay          *display,
     {
       MetaWindow *window = value;
 
-      if (!META_IS_WINDOW (window))
+      if (!META_IS_WINDOW (window) || window->unmanaging)
         continue;
 
       if (!window->override_redirect ||
@@ -1020,7 +1020,7 @@ meta_display_list_windows (MetaDisplay          *display,
     {
       MetaWindow *window = value;
 
-      if (!META_IS_WINDOW (window))
+      if (!META_IS_WINDOW (window) || window->unmanaging)
         continue;
 
       if (!window->override_redirect ||


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