Alexandre Julliard : winex11: Filter out motion events resulting from setting the clip window.

Alexandre Julliard julliard at winehq.org
Mon May 16 11:36:49 CDT 2011


Module: wine
Branch: master
Commit: d1f5c13162d15873b2b51b28cfb56035f0890183
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d1f5c13162d15873b2b51b28cfb56035f0890183

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon May 16 14:34:10 2011 +0200

winex11: Filter out motion events resulting from setting the clip window.

---

 dlls/winex11.drv/mouse.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 188e36f..8456d67 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -404,6 +404,12 @@ static BOOL grab_clipping_window( const RECT *clip, BOOL only_with_xinput )
                        clip->left - virtual_screen_rect.left, clip->top - virtual_screen_rect.top,
                        clip->right - clip->left, clip->bottom - clip->top );
     XMapWindow( data->display, clip_window );
+
+    /* if the rectangle is shrinking we may get a pointer warp */
+    if (msg_hwnd || clip->left > clip_rect.left || clip->top > clip_rect.top ||
+        clip->right < clip_rect.right || clip->bottom < clip_rect.bottom)
+        data->warp_serial = NextRequest( data->display );
+
     if (!XGrabPointer( data->display, clip_window, False,
                        PointerMotionMask | ButtonPressMask | ButtonReleaseMask,
                        GrabModeAsync, GrabModeAsync, clip_window, None, CurrentTime ))




More information about the wine-cvs mailing list