http://bugs.winehq.org/show_bug.cgi?id=5691
------- Additional Comments From smack@smack.gotdns.org 2006-15-07 19:41 ------- Turns out I did exactly the opposite of what vitamin wanted me to try. I tried this patch and as soon as I did my mouse in Alice broke. So the problem would definetly be specific to the stuff below.
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c index 8bd395e..e626bf6 100644 --- a/dlls/dinput/mouse.c +++ b/dlls/dinput/mouse.c @@ -418,7 +419,6 @@ static LRESULT CALLBACK dinput_mouse_hoo MSLLHOOKSTRUCT *hook = (MSLLHOOKSTRUCT *)lparam; SysMouseImpl* This = (SysMouseImpl*) current_lock; DWORD dwCoop; - static long last_event = 0; int wdata;
if (code != HC_ACTION) return CallNextHookEx( 0, code, wparam, lparam ); @@ -426,16 +426,6 @@ static LRESULT CALLBACK dinput_mouse_hoo EnterCriticalSection(&(This->crit)); dwCoop = This->dwCoopLevel;
- /* Only allow mouse events every 10 ms. - * This is to allow the cursor to start acceleration before - * the warps happen. But if it involves a mouse button event we - * allow it since we don't want to lose the clicks. - */ - if (((GetCurrentTime() - last_event) < 10) - && wparam == WM_MOUSEMOVE) - goto end; - else last_event = GetCurrentTime(); - /* Mouse moved -> send event if asked */ if (This->hEvent) SetEvent(This->hEvent);