winex11drv: Return cached cursor_pos in GetCursorPos().
wine-patches at kievinfo.com
Wed Dec 13 19:27:49 CST 2006
Return cached cursor_pos in GetCursorPos().
Use "last_time_updated" to revert to old behavior or when mouse position
hasn't been updated for some time.
Don't change actual cursor position in SetCursorPos() if it hasn't changed.
The 2 seconds interval seems to be big, but it will be hit only once if a program
doesn't check messages.
We need change to SetCursorPos() to fix introduced timing issues with some games.
They pull cursor position with GetCursrorPos() then if cursor moved, reset it to
center with SetCursorPos(). In a sense we need to "cache" both operations here.
However windows will still send WM_MOUSEMOVE even when cursor position hasn't
changed. And some games depend on that as well to clear their mouse state.
dlls/winex11.drv/mouse.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1663 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061213/e206992f/857c7668fb492881c8a2757df9dd050fbdc80f1e.bin
More information about the wine-patches