Commit Diff


commit - 02a8ca95cf22d9b1da50dffffefa31fb563c3852
commit + 47f63dce550fab02f9d15aca5cec8c137125ac16
blob - 293f9cfb2f5c8de60ba621450388c7e064324395
blob + 146d344d497819e197a32e797d1e92a07246e4f4
--- dwm.c
+++ 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