summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/window.c17
2 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9632b5c..1618399 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2002-08-25 Havoc Pennington <hp@pobox.com>
+ * src/window.c (meta_window_free): when freeing a fullscreen
+ window, update layers of the window's group.
+
+2002-08-25 Havoc Pennington <hp@pobox.com>
+
* src/display.c (meta_display_open): _NET_SUPPORTING_WM_CHECK is
supposed to have type WINDOW not CARDINAL. reported by
Ben Jansens
diff --git a/src/window.c b/src/window.c
index 8c3b827..7d4d444 100644
--- a/src/window.c
+++ b/src/window.c
@@ -801,7 +801,22 @@ meta_window_free (MetaWindow *window)
window->desc);
window->unmanaging = TRUE;
-
+
+ if (window->fullscreen)
+ {
+ MetaGroup *group;
+
+ /* If the window is fullscreen, it may be forcing
+ * other windows in its group to a higher layer
+ */
+
+ meta_stack_freeze (window->screen->stack);
+ group = meta_window_get_group (window);
+ if (group)
+ meta_group_update_layers (group);
+ meta_stack_thaw (window->screen->stack);
+ }
+
/* If we have the focus, focus some other window.
* This is done first, so that if the unmap causes
* an EnterNotify the EnterNotify will have final say