From afc97cbd5d62f69d53ca634fe2143a3049cc5d82 Mon Sep 17 00:00:00 2001 From: Victor Luchits Date: Thu, 14 May 2015 14:40:56 +0300 Subject: [PATCH] Fix duplicate raw mouse events with XInput2 Make XGrabPointer calls in X11_SetWindowGrab and X11_CaptureMouse consistent by passing False to owner_mask along with proper event_mask. --- src/video/x11/SDL_x11window.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index 27e1c999aa329..ad3ee9e14fb0a 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -1329,9 +1329,12 @@ X11_SetWindowGrab(_THIS, SDL_Window * window, SDL_bool grabbed) if (oldstyle_fullscreen || grabbed) { /* Try to grab the mouse */ for (;;) { + const unsigned int mask = ButtonPressMask | ButtonReleaseMask + | PointerMotionMask | FocusChangeMask; int result = - X11_XGrabPointer(display, data->xwindow, True, 0, GrabModeAsync, - GrabModeAsync, data->xwindow, None, CurrentTime); + X11_XGrabPointer(display, data->xwindow, False, mask, + GrabModeAsync, GrabModeAsync, data->xwindow, + None, CurrentTime); if (result == GrabSuccess) { break; }