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?