[PATCH v3] user32: WM_MOUSEACTIVATE should return MA_NOACTIVATE for WM_LBUTTONDOWN/HTCAPTION message.
Rémi Bernon
rbernon at codeweavers.com
Tue Nov 19 04:52:24 CST 2019
I think this completely broke window switching on X11 when using the
WM_TAKE_FOCUS protocol -which is the default.
We send this WM_MOUSEACTIVATE message in the handle_wm_protocols
function in dlls/winex11.drv/event.c, to check whether a window should
be activated whenever it is about to be focused, and it now always
return MA_NOACTIVATE so we go through the fallback logic which is not
correct in general -it only has a few heuristics and in general tries to
focus the previously focused window.
I can confirm that the return value is correct though: on Windows
clicking on the title bar triggers the WM_MOUSEACTIVATE message, which
returns MA_NOACTIVATE, but then the window seems to be focused anyway.
Also, when switching windows with Alt-Tab for example the
WM_MOUSEACTIVATE message is not involved on Windows, of course.
--
Rémi Bernon <rbernon at codeweavers.com>
More information about the wine-devel
mailing list