https://bugs.winehq.org/show_bug.cgi?id=38765
--- Comment #2 from Jason jasonwinter@hotmail.com --- Ok, I think I've tracked down the other Wine issue with my hide cursor routine.
None of the 8 SetWindowPos calls made in window.c in strmbase include SWP_NOACTIVATE so those calls made there will in fact activate a window, if another one is already active.
This includes simply altering the size of a window, and also in my case using put_WindowStyle (though not put_WindowStyleEx - I'm not sure why there's a difference between the Wine logic in these two functions, as I don't understand the SetWindowPos call in the WindowStyle version).
I'm fairly certain real-Windows does not activate windows when most of the following are called:
put_WindowStyle put_Left put_Width put_Top put_Height put_Owner SetWindowPosition (This is a tough call, but probably no.)
And
SetWindowForeground (this probably should, but looking at the focus variable it's probably wrong too as it uses Win32's SetForegroundWindow for that instead.)