diff options
author | Руслан Ижбулатов <lrn1986@gmail.com> | 2018-06-17 10:58:16 +0000 |
---|---|---|
committer | Руслан Ижбулатов <lrn1986@gmail.com> | 2018-06-17 10:59:49 +0000 |
commit | b7f9a5419f93254c96848cb0cab9fc7be281a5db (patch) | |
tree | cb776d00e7421a7a539d79627c5385307c20b80a | |
parent | 6cfa799ca1f0f36889b0f120f2baf26a45501a3b (diff) | |
download | gtk+-lrn/zorder-gtk4.tar.gz |
GDK W32: Use SWP_NOOWNERZORDER everywhere it can be appliedlrn/zorder-gtk4
There is no reason why we shouldn't pass this flag every time
Z-order changes. We have separate routines that are used to
maintain relative Z-order, so it should be completely OK to
pass SWP_NOOWNERZORDER to let the OS know that it shouldn't try
to maintain relative Z-order of the windows when raising them.
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 6 | ||||
-rw-r--r-- | gdk/win32/gdksurface-win32.c | 16 |
2 files changed, 11 insertions, 11 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index e69cd1e372..e02e2c8133 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -1897,7 +1897,7 @@ ensure_stacking_on_unminimize (MSG *msg) g_print (" restacking %p above %p", msg->hwnd, lowest_transient)); SetWindowPos (msg->hwnd, lowest_transient, 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER); } } @@ -1978,7 +1978,7 @@ ensure_stacking_on_activate_app (MSG *msg, impl->transient_owner != NULL) { SetWindowPos (msg->hwnd, HWND_TOP, 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER); return; } @@ -2020,7 +2020,7 @@ ensure_stacking_on_activate_app (MSG *msg, g_print (" restacking %p above %p", msg->hwnd, rover)); SetWindowPos (msg->hwnd, rover, 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER); break; } } diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c index 4b5adb4924..a23d403a07 100644 --- a/gdk/win32/gdksurface-win32.c +++ b/gdk/win32/gdksurface-win32.c @@ -1199,7 +1199,7 @@ show_window_internal (GdkSurface *window, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), (window->state & GDK_SURFACE_STATE_ABOVE)?HWND_TOPMOST:HWND_NOTOPMOST, 0, 0, 0, 0, - SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); + SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER)); } } @@ -1468,7 +1468,7 @@ gdk_win32_surface_raise (GdkSurface *window) else API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP, 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER)); } } @@ -1485,7 +1485,7 @@ gdk_win32_surface_lower (GdkSurface *window) API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_BOTTOM, 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER)); } } @@ -2427,7 +2427,7 @@ _gdk_win32_surface_update_style_bits (GdkSurface *window) rect.right += after.right - before.right; rect.bottom += after.bottom - before.bottom; - flags = SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOREPOSITION; + flags = SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOREPOSITION | SWP_NOOWNERZORDER; if (will_be_topmost && !was_topmost) { @@ -4881,7 +4881,7 @@ gdk_win32_surface_fullscreen (GdkSurface *window) API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP, x, y, width, height, - SWP_NOCOPYBITS | SWP_SHOWWINDOW)); + SWP_NOCOPYBITS | SWP_SHOWWINDOW | SWP_NOOWNERZORDER)); } } @@ -4904,7 +4904,7 @@ gdk_win32_surface_unfullscreen (GdkSurface *window) API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_NOTOPMOST, fi->r.left, fi->r.top, fi->r.right - fi->r.left, fi->r.bottom - fi->r.top, - SWP_NOCOPYBITS | SWP_SHOWWINDOW)); + SWP_NOCOPYBITS | SWP_SHOWWINDOW | SWP_NOOWNERZORDER)); g_object_set_data (G_OBJECT (window), "fullscreen-info", NULL); g_free (fi); @@ -4930,7 +4930,7 @@ gdk_win32_surface_set_keep_above (GdkSurface *window, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), setting ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, - SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); + SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER)); } gdk_synthesize_surface_state (window, @@ -4956,7 +4956,7 @@ gdk_win32_surface_set_keep_below (GdkSurface *window, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), setting ? HWND_BOTTOM : HWND_NOTOPMOST, 0, 0, 0, 0, - SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); + SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER)); } gdk_synthesize_surface_state (window, |