Merge branch 'lrn/zorder-gtk4' into 'master'

Don't let the OS maintain relative Z-order for windows (GTK4)

See merge request GNOME/gtk!197
This commit is contained in:
LRN 2018-10-15 22:48:14 +00:00
commit 532a48aa92
2 changed files with 12 additions and 12 deletions

View File

@ -1701,7 +1701,7 @@ ensure_stacking_on_unminimize (MSG *msg)
g_print (" restacking %p above %p", g_print (" restacking %p above %p",
msg->hwnd, lowest_transient)); msg->hwnd, lowest_transient));
SetWindowPos (msg->hwnd, lowest_transient, 0, 0, 0, 0, SetWindowPos (msg->hwnd, lowest_transient, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER);
} }
} }
@ -1782,7 +1782,7 @@ ensure_stacking_on_activate_app (MSG *msg,
impl->transient_owner != NULL) impl->transient_owner != NULL)
{ {
SetWindowPos (msg->hwnd, HWND_TOP, 0, 0, 0, 0, SetWindowPos (msg->hwnd, HWND_TOP, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER);
return; return;
} }
@ -1824,7 +1824,7 @@ ensure_stacking_on_activate_app (MSG *msg,
g_print (" restacking %p above %p", g_print (" restacking %p above %p",
msg->hwnd, rover)); msg->hwnd, rover));
SetWindowPos (msg->hwnd, rover, 0, 0, 0, 0, SetWindowPos (msg->hwnd, rover, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER);
break; break;
} }
} }

View File

@ -1118,7 +1118,7 @@ show_window_internal (GdkSurface *window,
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window),
(window->state & GDK_SURFACE_STATE_ABOVE)?HWND_TOPMOST:HWND_NOTOPMOST, (window->state & GDK_SURFACE_STATE_ABOVE)?HWND_TOPMOST:HWND_NOTOPMOST,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER));
} }
} }
@ -1376,7 +1376,7 @@ gdk_win32_surface_raise (GdkSurface *window)
if (GDK_SURFACE_TYPE (window) == GDK_SURFACE_TEMP) if (GDK_SURFACE_TYPE (window) == GDK_SURFACE_TEMP)
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOPMOST, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOPMOST,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER));
else if (window->accept_focus) else if (window->accept_focus)
/* Do not wrap this in an API_CALL macro as SetForegroundWindow might /* Do not wrap this in an API_CALL macro as SetForegroundWindow might
* fail when for example dragging a window belonging to a different * fail when for example dragging a window belonging to a different
@ -1386,7 +1386,7 @@ gdk_win32_surface_raise (GdkSurface *window)
else else
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER));
} }
} }
@ -1403,7 +1403,7 @@ gdk_win32_surface_lower (GdkSurface *window)
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_BOTTOM, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_BOTTOM,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER));
} }
} }
@ -2313,7 +2313,7 @@ _gdk_win32_surface_update_style_bits (GdkSurface *window)
rect.right += after.right - before.right; rect.right += after.right - before.right;
rect.bottom += after.bottom - before.bottom; 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) if (will_be_topmost && !was_topmost)
{ {
@ -4767,7 +4767,7 @@ gdk_win32_surface_fullscreen (GdkSurface *window)
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOP,
x, y, width, height, x, y, width, height,
SWP_NOCOPYBITS | SWP_SHOWWINDOW)); SWP_NOCOPYBITS | SWP_SHOWWINDOW | SWP_NOOWNERZORDER));
} }
} }
@ -4790,7 +4790,7 @@ gdk_win32_surface_unfullscreen (GdkSurface *window)
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_NOTOPMOST, API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_NOTOPMOST,
fi->r.left, fi->r.top, fi->r.left, fi->r.top,
fi->r.right - fi->r.left, fi->r.bottom - 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_object_set_data (G_OBJECT (window), "fullscreen-info", NULL);
g_free (fi); g_free (fi);
@ -4816,7 +4816,7 @@ gdk_win32_surface_set_keep_above (GdkSurface *window,
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window),
setting ? HWND_TOPMOST : HWND_NOTOPMOST, setting ? HWND_TOPMOST : HWND_NOTOPMOST,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER));
} }
gdk_synthesize_surface_state (window, gdk_synthesize_surface_state (window,
@ -4842,7 +4842,7 @@ gdk_win32_surface_set_keep_below (GdkSurface *window,
API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window),
setting ? HWND_BOTTOM : HWND_NOTOPMOST, setting ? HWND_BOTTOM : HWND_NOTOPMOST,
0, 0, 0, 0, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)); SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOOWNERZORDER));
} }
gdk_synthesize_surface_state (window, gdk_synthesize_surface_state (window,