From 47f63dce550fab02f9d15aca5cec8c137125ac16 Mon Sep 17 00:00:00 2001
From: Anselm R Garbe <garbeam@gmail.com>
Date: Mon, 18 Aug 2008 19:19:15 +0100
Subject: [PATCH] applied Martin Hurtons resizemouse patch

---
 dwm.c | 12 +++++-------
 1 file 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
-- 
2.20.1