applied Martin Hurtons resizemouse patch
authorAnselm R Garbe <garbeam@gmail.com>
Mon, 18 Aug 2008 18:19:15 +0000 (19:19 +0100)
committerAnselm R Garbe <garbeam@gmail.com>
Mon, 18 Aug 2008 18:19:15 +0000 (19:19 +0100)
dwm.c

diff --git a/dwm.c b/dwm.c
index 293f9cf..146d344 100644 (file)
--- 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