[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