30 Sep
2025
30 Sep
'25
7:54 a.m.
Rémi Bernon (@rbernon) commented about dlls/win32u/input.c:
/* FIXME: move tracking stuff into per-thread data */ static struct tracking_list tracking_info; +static HWND last_mouse_message_hwnd; +static int last_mouse_message_hittest; +static POINT last_mouse_message_pos; + +void update_current_mouse_window( HWND hwnd, INT hittest, POINT pos ) +{ + last_mouse_message_hwnd = hwnd; + last_mouse_message_hittest = hittest; + last_mouse_message_pos = pos; +}
This looks racy, if a thread only processes its message late, after another has processed the most recent messages? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9069#note_117138