diff --git a/ChangeLog b/ChangeLog index 9632b5cdd..1618399b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-08-25 Havoc Pennington + + * src/window.c (meta_window_free): when freeing a fullscreen + window, update layers of the window's group. + 2002-08-25 Havoc Pennington * src/display.c (meta_display_open): _NET_SUPPORTING_WM_CHECK is diff --git a/src/window.c b/src/window.c index 8c3b827d6..7d4d44478 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