Raf Geens wrote:
When this has happened and you return to the main menu, it can occur that for example the cursor can't reach the top part of the screen anymore. It's as if an invisible rectangle that keeps the cursor inside the screen has moved. In such a case, moving the cursor all the way to the bottom and back up again restores normal behaviour.
I've isolated the problem to the following line in dlls/dinput/mouse.c :
That's the consequence and not the real place where the problem is.
This->need_warp = (pt.x || pt.y) && dwCoop & DISCL_EXCLUSIVE;
Wine'd dinput warps mouse in some cases (much lesser number then it was before) while it shouldn't do that at all!
The real issue is in x11drv which should warp mouse and report "relative" mouse moves while it doesn't. I've sent two patches that haven't been applied yet.
See bug 6971 for more info.
Vitaliy.