xserver/hw
Jon Turney 64d7a6b4a0 hw/xwin: More adjustments to multiwindow mode focus handling
The previous change is not enough, as WM_KILLFOCUS can apparently be
sent to the window losing focus after WM_ACTIVATE has been sent to
the window gaining focus.

Try using WM_SETFOCUS instead, as that has the correct ordering and seems
more logical.

The test "!pWin || !pWin->overrideRedirect" is confusingly written: It's
true if:

(a) pWin is NULL (= X window doesn't exist, shouldn't happen), or
(b) pWin->overrideRedirect is FALSE

i.e. the intended effect is "don't give focus to override redirect windows"

There seem to be some cases where this still isn't quite correct: A
reproduction isn't known, but it seems to be related to minimizing a
maximized Windows window, and having window activation move to a
maximized X window beneath it.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/736>
2026-02-15 18:58:01 +00:00
..
kdrive Xephyr.man: Use \- to get ASCII hyphens instead of Unicode dashes 2026-01-25 10:40:01 -08:00
vfb man pages: remove extraneous PP macros 2026-01-25 10:40:01 -08:00
xfree86 xf86: check return value of XF86_CRTC_CONFIG_PTR in xf86CompatOutput() 2026-02-15 18:34:26 +00:00
xnest Xnest: use authorative declarations from X11/XKBlib.h 2026-01-25 10:40:01 -08:00
xquartz Strip trailing whitespace from source files 2026-01-25 10:40:02 -08:00
xwayland xwayland: wrong expecting_event 2026-02-08 11:44:42 -08:00
xwin hw/xwin: More adjustments to multiwindow mode focus handling 2026-02-15 18:58:01 +00:00
meson.build meson.build: print a summary of the DDX to build 2026-01-25 10:40:01 -08:00