winex11.drv: Added missing mouse position clipping. (try 2)

Lauri Kenttä lauri.kentta at gmail.com
Sat Jan 23 07:19:20 CST 2010


James McKenzie wrote:
> Programming can and is brutal.

Yes, I know. But programming can also be nice and fun. It will be exactly
what the community makes it. I've seen both kinds, and guess which ones
have had more active users. This was my point, so do not misunderstand:
I'm certainly not saying that bad patches should be accepted.

But enough of that, now.

> Windows does not trap the mouse and neither should Wine.

I'm not sure what you mean. If you're saying that ClipCursor doesn't
actually trap it, please try it out first. As simple as this:

#include <stdio.h>
#include <windows.h>

int main()
{
    RECT rc;
    SetRect(&rc, 100, 100, 200, 200);
    ClipCursor(&rc);
    getchar();
    ClipCursor(NULL);
    return 0;
}

If you're running Windows on a virtual machine, remember to disable things
like "mouse pointer integration" before testing.

> If you are in a virtual desktop, the mouse should stop at the edge of
> the window and move to where you re-enter it.

I think we all agree about that, but GetCursorPos currently doesn't.

Also, the last WM_MOUSEMOVE comes from the last position inside the
desktop, which probably is not at the edge. But that's something I'll not
try to fix.

Thanks for your comments!

-- 
Lauri Kenttä




More information about the wine-devel mailing list