commit 02a8ca95cf22d9b1da50dffffefa31fb563c3852 from: Anselm R Garbe date: Mon Aug 18 17:23:39 2008 UTC applied Martin Hurton's movemouse() patch commit - 2ce50a9cada450b0538bb12f0424005652fc1355 commit + 02a8ca95cf22d9b1da50dffffefa31fb563c3852 blob - c6316d1b9db1cb81363d757bdb72583deaf71005 blob + 66c0f87bcec49a0c2867a672831101ec8cd12d5a --- LICENSE +++ LICENSE @@ -7,6 +7,7 @@ MIT/X Consortium License © 2007 Szabolcs Nagy © 2007 Christof Musik © 2007-2008 Enno Gottox Boland +© 2008 Martin Hurton Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), blob - dc14bfd7e2a460d71601da48ecfdc1ce818016d3 blob + 293f9cfb2f5c8de60ba621450388c7e064324395 --- dwm.c +++ dwm.c @@ -961,18 +961,15 @@ movemouse(const Arg *arg) { if(!(c = sel)) return; restack(); - ocx = nx = c->x; - ocy = ny = c->y; + ocx = c->x; + ocy = c->y; if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, None, cursor[CurMove], CurrentTime) != GrabSuccess) return; XQueryPointer(dpy, root, &dummy, &dummy, &x, &y, &di, &di, &dui); - for(;;) { + do { XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); switch (ev.type) { - case ButtonRelease: - XUngrabPointer(dpy, CurrentTime); - return; case ConfigureRequest: case Expose: case MapRequest: @@ -1000,6 +997,8 @@ movemouse(const Arg *arg) { break; } } + while(ev.type != ButtonRelease); + XUngrabPointer(dpy, CurrentTime); } Client *