http://bugs.winehq.org/show_bug.cgi?id=5691
Summary: dinput regression Product: Wine Version: CVS Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-directx-dinput AssignedTo: wine-bugs@winehq.org ReportedBy: smack@smack.gotdns.org
In American McGee's Alice this patch breaks the mouse and makes it so you can barely move. It's like the mouse is losing input.
date: 2006-06-22 patch message: dinput: Warp mouse each 10ms instead of dropping events. sha1: 9d449ab4895a32aec25be03f0ead30debf34b6c8
vitamin had me try removing this stuff from the patch. After I did the mouse worked normal in Alice.
@@ -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);