about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--dwm.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/dwm.c b/dwm.c
index 293f9cf..146d344 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1127,15 +1127,9 @@ resizemouse(const Arg *arg) {
 	None, cursor[CurResize], CurrentTime) != GrabSuccess)
 		return;
 	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
-	for(;;) {
+	do {
 		XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev);
 		switch(ev.type) {
-		case ButtonRelease:
-			XWarpPointer(dpy, None, c->win, 0, 0, 0, 0,
-					c->w + c->bw - 1, c->h + c->bw - 1);
-			XUngrabPointer(dpy, CurrentTime);
-			while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
-			return;
 		case ConfigureRequest:
 		case Expose:
 		case MapRequest:
@@ -1157,6 +1151,10 @@ resizemouse(const Arg *arg) {
 			break;
 		}
 	}
+	while(ev.type != ButtonRelease);
+	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
+	XUngrabPointer(dpy, CurrentTime);
+	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
 }
 
 void