GDK W32: Don't let TEMP surfaces cause zorder side-effects

Pass SWP_NOOWNERZORDER when rising TEMP surfaces to the top. This ensures that
they don't drag anything else to the top with them. The use-case for this is
a tooltip appearing for a non-foreground surface, causing said surface to rise
above other surfaces, some of which maybe foreground at the moment.

https://bugzilla.gnome.org/show_bug.cgi?id=784766
This commit is contained in:
Руслан Ижбулатов
2017-09-20 17:21:44 +00:00
parent f6d70f7225
commit 6cfa799ca1

View File

@@ -1458,7 +1458,7 @@ gdk_win32_surface_raise (GdkSurface *window)
if (GDK_SURFACE_TYPE (window) == GDK_SURFACE_TEMP)
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOPMOST,
0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE));
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER));
else if (window->accept_focus)
/* Do not wrap this in an API_CALL macro as SetForegroundWindow might
* fail when for example dragging a window belonging to a different