diff --git a/ChangeLog b/ChangeLog index 4f01f6a2f..36250f3c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-11-11 Thomas Thurman + + * 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 * src/tabpopup.c (tab_entry_new, meta_ui_tab_popup_new): Instruct the diff --git a/src/window.c b/src/window.c index 1316a4fba..d26d38f41 100644 --- a/src/window.c +++ b/src/window.c @@ -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