|  | @@ -1,6 +1,5 @@
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |   * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 | 
	
		
			
				|  |  | - * (C)opyright MMVI Kris Maglione <fbsdaemon@gmail.com>
 | 
	
		
			
				|  |  |   * See LICENSE file for license details.
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -17,10 +16,10 @@ void
 | 
	
		
			
				|  |  |  mresize(Client *c)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	XEvent ev;
 | 
	
		
			
				|  |  | -	int old_cx, old_cy;
 | 
	
		
			
				|  |  | +	int ocx, ocy;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	old_cx = c->x;
 | 
	
		
			
				|  |  | -	old_cy = c->y;
 | 
	
		
			
				|  |  | +	ocx = c->x;
 | 
	
		
			
				|  |  | +	ocy = c->y;
 | 
	
		
			
				|  |  |  	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync,
 | 
	
		
			
				|  |  |  				None, cursor[CurResize], CurrentTime) != GrabSuccess)
 | 
	
		
			
				|  |  |  		return;
 | 
	
	
		
			
				|  | @@ -34,10 +33,10 @@ mresize(Client *c)
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  |  		case MotionNotify:
 | 
	
		
			
				|  |  |  			XFlush(dpy);
 | 
	
		
			
				|  |  | -			c->w = abs(old_cx - ev.xmotion.x);
 | 
	
		
			
				|  |  | -			c->h = abs(old_cy - ev.xmotion.y);
 | 
	
		
			
				|  |  | -			c->x = (old_cx <= ev.xmotion.x) ? old_cx : old_cx - c->w;
 | 
	
		
			
				|  |  | -			c->y = (old_cy <= ev.xmotion.y) ? old_cy : old_cy - c->h;
 | 
	
		
			
				|  |  | +			c->w = abs(ocx - ev.xmotion.x);
 | 
	
		
			
				|  |  | +			c->h = abs(ocy - ev.xmotion.y);
 | 
	
		
			
				|  |  | +			c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - c->w;
 | 
	
		
			
				|  |  | +			c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - c->h;
 | 
	
		
			
				|  |  |  			resize(c);
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  |  		case ButtonRelease:
 | 
	
	
		
			
				|  | @@ -51,12 +50,12 @@ void
 | 
	
		
			
				|  |  |  mmove(Client *c)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	XEvent ev;
 | 
	
		
			
				|  |  | -	int x1, y1, old_cx, old_cy, di;
 | 
	
		
			
				|  |  | +	int x1, y1, ocx, ocy, di;
 | 
	
		
			
				|  |  |  	unsigned int dui;
 | 
	
		
			
				|  |  |  	Window dummy;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	old_cx = c->x;
 | 
	
		
			
				|  |  | -	old_cy = c->y;
 | 
	
		
			
				|  |  | +	ocx = c->x;
 | 
	
		
			
				|  |  | +	ocy = c->y;
 | 
	
		
			
				|  |  |  	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync,
 | 
	
		
			
				|  |  |  				None, cursor[CurMove], CurrentTime) != GrabSuccess)
 | 
	
		
			
				|  |  |  		return;
 | 
	
	
		
			
				|  | @@ -70,8 +69,8 @@ mmove(Client *c)
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  |  		case MotionNotify:
 | 
	
		
			
				|  |  |  			XFlush(dpy);
 | 
	
		
			
				|  |  | -			c->x = old_cx + (ev.xmotion.x - x1);
 | 
	
		
			
				|  |  | -			c->y = old_cy + (ev.xmotion.y - y1);
 | 
	
		
			
				|  |  | +			c->x = ocx + (ev.xmotion.x - x1);
 | 
	
		
			
				|  |  | +			c->y = ocy + (ev.xmotion.y - y1);
 | 
	
		
			
				|  |  |  			resize(c);
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  |  		case ButtonRelease:
 |