http://bugs.winehq.org/show_bug.cgi?id=1410
------- Additional Comments From myrd@projectmagma.net 2006-08-03 23:44 ------- Okay, cross-posting what I posted for Bug #4777:
The source code I'm talking about is in: http://source.winehq.org/source/dlls/dinput/mouse.c
So...
The bug occurs when Acquire is called, but Unacquire is never called (until the app is about to close). Furthermore, Acquire gets called multiple times, so the mouse keeps getting recentered, without unacquire getting a chance to put the cursor back where it was.
While one can argue that this is bad practice from the application programmer's point of view, I think that's irrelevant - and what's relevant is how Windows behaves: it doesn't center the cursor in such a case!
So the question is, why does the cursor need to be centered in the first place, and can it be avoided with a work around?