Jinoh Kang (@iamahuman) commented about dlls/win32u/input.c:
- if ((ret = !wine_server_call( req ))) - { - pt->x = reply->new_x; - pt->y = reply->new_y; - last_change = reply->last_change; - } + pt->x = shared->cursor.x; + pt->y = shared->cursor.y; + last_change = shared->cursor.last_change; } - SERVER_END_REQ; + SHARED_READ_END;
/* query new position from graphics driver if we haven't updated recently */ - if (ret && NtGetTickCount() - last_change > 100) ret = user_driver->pGetCursorPos( pt ); + if (NtGetTickCount() - last_change > 100) ret = user_driver->pGetCursorPos( pt ); This is confusing to me, since it looks wrong at the first glance until you look up a bit to see that `ret` is initialized to TRUE. How about leaving this unchanged?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3103#note_60690