Huw Davies huw@codeweavers.com writes:
I sent in the same patch a few days ago: https://source.winehq.org/patches/data/140856 (although at the time I didn't realise it existed in staging). See AJ's reply: https://source.winehq.org/patches/data/140965
The problem is that there could be a non-Wine window in between the original msg->hwnd and the window which WindowFromPoint finds. In this case the user would expect the mouse event to be handled by the non-Wine window, not the Wine window behind it.
To fix this we'd need support from the native windowing system.
Note that it may still be possible to implement heuristics that would be reasonably safe and may help at least in some cases. For instance, it may be acceptable to check only the window directly behind the HTTRANSPARENT one, and accept it if it belongs to the same process and is the owner of the transparent popup.