commit b59dee84cfd715687e9e50979bcc354f86c4048c
parent 7509382a8cbf8ca6a41f9c79d1a9ab172e87d398
Author: Anselm R. Garbe <garbeam@wmii.de>
Date: Wed, 10 May 2006 14:05:48 +0200
adding XPending checks before pointer grabs
Diffstat:
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/cmd/wm/mouse.c b/cmd/wm/mouse.c
@@ -195,9 +195,10 @@ do_mouse_move(Client *c, XButtonPressedEvent *e, Bool swap)
pt.y = ey;
XSync(dpy, False);
- if(XGrabPointer(dpy, root, False, PointerMotionMask | ButtonReleaseMask,
- GrabModeAsync, GrabModeAsync, None, cursor[CurMove],
- e->time) != GrabSuccess)
+ if(XPending(dpy) ||
+ (XGrabPointer(dpy, root, False, PointerMotionMask | ButtonReleaseMask,
+ GrabModeAsync, GrabModeAsync, None, cursor[CurMove], e->time)
+ != GrabSuccess))
return;
XGrabServer(dpy);
@@ -438,9 +439,10 @@ do_mouse_resize(Client *c, XButtonPressedEvent *e, BlitzAlign align)
XQueryPointer(dpy, c->framewin, &dummy, &dummy, &i, &i, &ox, &oy, &dmask);
XSync(dpy, False);
- if(XGrabPointer(dpy, c->framewin, False, PointerMotionMask | ButtonReleaseMask,
- GrabModeAsync, GrabModeAsync, None, cursor[CurResize],
- e->time) != GrabSuccess)
+ if(XPending(dpy) ||
+ (XGrabPointer(dpy, c->framewin, False, PointerMotionMask | ButtonReleaseMask,
+ GrabModeAsync, GrabModeAsync, None, cursor[CurResize], e->time)
+ != GrabSuccess))
return;
XGrabServer(dpy);