On Tue Sep 30 07:54:57 2025 +0000, Rémi Bernon wrote:
This looks racy, if a thread only processes its message late, after another has processed the most recent messages?
Well, yeah, thinking of it, it is probably better to make mouse tracking fully per thread, with tracking data also stored in thread data as comment near tracking_info suggests: "FIXME: move tracking stuff into per-thread data"? But that would probably mean that NtUserTrackMouseEvent() can initialize the tracking info only for the current thread. Do you think we can add a WM_WINE_ message to send it when NtUserTrackMouseEvent is called for the other thread? Then, all the mouse tracking info will be contained per thread and update_current_mouse_window() will be also per-thread. As a side effect, that should make NtUserTrackMouseEvent() work for other process window (the case on Windows, doesn't work on Wine now).