Skip to content

Win32: Remove SWP_NOOWNERZORDER flag for a call to SetWindowPos

Luca Bacci requested to merge lb90/gtk:fix-issue-2045 into gtk-3-24

In Windows, normally, an owned window always stays on top of the owner window. But SetWindowPos(), if called called with args HWND_TOP and SWP_NOOWNERZORDER flag, is able to break this rule and brings the owner on top of the owned.

Commit fc2008f2 added the flag SWP_NOOWNERZORDER to all calls to SetWindowPos.

ensure_stacking_on_activate_app () handles the WM_ACTIVATEAPP message. WM_ACTIVATEAPP is sent to all toplevel windows of the application but we cannot know in which order. This can cause problems. To be safe remove the SWP_NOOWNERZORDER flag.

Fixes #2045 (closed)

Merge request reports