applied Martin Hurton's movemouse() patch
authorAnselm R Garbe <garbeam@gmail.com>
Mon, 18 Aug 2008 18:23:39 +0100
changeset 1334 6f9cf8bcc4a7
parent 1333 5be4e277ed7c
child 1335 83da51dfedd3
applied Martin Hurton's movemouse() patch
LICENSE
dwm.c
--- a/LICENSE	Mon Aug 18 10:22:46 2008 +0100
+++ b/LICENSE	Mon Aug 18 18:23:39 2008 +0100
@@ -7,6 +7,7 @@
 © 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
 © 2007 Christof Musik <christof at sendfax dot de>
 © 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
+© 2008 Martin Hurton <martin dot hurton at gmail dot com>
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
--- a/dwm.c	Mon Aug 18 10:22:46 2008 +0100
+++ b/dwm.c	Mon Aug 18 18:23:39 2008 +0100
@@ -961,18 +961,15 @@
 	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 @@
 			break;
 		}
 	}
+	while(ev.type != ButtonRelease);
+	XUngrabPointer(dpy, CurrentTime);
 }
 
 Client *