adjust expression which decides whether new windows should not go on top,

2007-11-11  Thomas Thurman  <thomas@thurman.org.uk>

        * src/window.c (meta_window_show): adjust expression which decides
        whether new windows should not go on top, so that restacking happens
        only the first time a window is mapped. Thanks to Olav Vitters for
        pointing out the problem. Re-fixes #486445.


svn path=/trunk/; revision=3386
This commit is contained in:
Thomas Thurman 2007-11-12 00:45:35 +00:00 committed by Thomas James Alexander Thurman
parent bcc3f56193
commit 2a9dc7272b
2 changed files with 12 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2007-11-11 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (meta_window_show): adjust expression which decides
whether new windows should not go on top, so that restacking happens
only the first time a window is mapped. Thanks to Olav Vitters for
pointing out the problem. Re-fixes #486445.
2007-11-11 Alex R.M. Turner <armtuk@gmail.com>
* src/tabpopup.c (tab_entry_new, meta_ui_tab_popup_new): Instruct the

View File

@ -2055,7 +2055,7 @@ meta_window_show (MetaWindow *window)
place_on_top_on_map ? "does" : "does not");
/* Now, in some rare cases we should *not* put a new window on top.
* These cases include certain types of windows showing for the firat
* These cases include certain types of windows showing for the first
* time, and any window which would be covered because of another window
* being set "above" ("always on top").
*
@ -2065,13 +2065,10 @@ meta_window_show (MetaWindow *window)
* probably rather be a term in the "if" condition below.
*/
if ( focus_window != NULL &&
(
(window->showing_for_first_time &&
!place_on_top_on_map &&
!takes_focus_on_map) ||
window_would_be_covered (window))
) {
if ( focus_window != NULL && window->showing_for_first_time &&
( (!place_on_top_on_map && !takes_focus_on_map) ||
window_would_be_covered (window) )
) {
if (meta_window_is_ancestor_of_transient (focus_window, window))
{
/* This happens for error dialogs or alerts; these need to remain on