keybindings: fix erratic raise_or_lower behavior

Function "handle_raise_or_lower (src/core/keybindings.c)" is called
when running 'raise-or-lower' on a window. This function iterates
through all the windows in the stack to determine if our window is
already on top or obscured. The problem is that the window stack
includes windows in another workspaces and also windows that are
minimized.

https://bugzilla.gnome.org/show_bug.cgi?id=705200
This commit is contained in:
Jose Marino 2017-02-06 09:17:02 -07:00 committed by Rui Matos
parent 1f0659d516
commit 9a123847e0

View File

@ -3198,7 +3198,7 @@ handle_raise_or_lower (MetaDisplay *display,
{ {
MetaRectangle tmp, win_rect, above_rect; MetaRectangle tmp, win_rect, above_rect;
if (above->mapped) if (above->mapped && meta_window_should_be_showing (above))
{ {
meta_window_get_frame_rect (window, &win_rect); meta_window_get_frame_rect (window, &win_rect);
meta_window_get_frame_rect (above, &above_rect); meta_window_get_frame_rect (above, &above_rect);