# HG changeset patch
# User Anselm R. Garbe <arg@suckless.org>
# Date 1169715588 -3600
# Node ID d3876aa792923f9a95f7ad0c7f0134533404df35
# Parent  a7e16dff53f3fb5cfc0eb7a743d78f4a8c8ea590
prepared yet another hotfix release

diff -r a7e16dff53f3 -r d3876aa79292 client.c
--- a/client.c	Wed Jan 24 17:25:37 2007 +0100
+++ b/client.c	Thu Jan 25 09:59:48 2007 +0100
@@ -178,6 +178,8 @@
 resize(Client *c, Bool sizehints) {
 	XWindowChanges wc;
 
+	if(c->w <= 0 || c->h <= 0)
+		return;
 	if(sizehints) {
 		if(c->incw)
 			c->w -= (c->w - c->basew) % c->incw;
diff -r a7e16dff53f3 -r d3876aa79292 config.mk
--- a/config.mk	Wed Jan 24 17:25:37 2007 +0100
+++ b/config.mk	Thu Jan 25 09:59:48 2007 +0100
@@ -1,5 +1,5 @@
 # dwm version
-VERSION = 3.2.1
+VERSION = 3.2.2
 
 # Customize below to fit your system
 
diff -r a7e16dff53f3 -r d3876aa79292 view.c
--- a/view.c	Wed Jan 24 17:25:37 2007 +0100
+++ b/view.c	Thu Jan 25 09:59:48 2007 +0100
@@ -98,11 +98,11 @@
 			else {  /* tile window */
 				c->x += mw;
 				c->w = tw - 2 * BORDERPX;
-				if(th > bh) {
+				if(th - 2 * BORDERPX > bh) {
 					c->y += (i - nmaster) * th;
 					c->h = th - 2 * BORDERPX;
 				}
-				else /* fallback if th < bh */
+				else /* fallback if th - 2 * BORDERPX < bh */
 					c->h = wah - 2 * BORDERPX;
 			}
 			resize(c, False);
@@ -149,7 +149,8 @@
 
 void
 incnmaster(Arg *arg) {
-	if((arrange == dofloat) || (nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh))
+	if((arrange == dofloat) || (nmaster + arg->i < 1)
+		|| (wah / (nmaster + arg->i) - 2 * BORDERPX < bh))
 		return;
 	nmaster += arg->i;
 	if(sel)
@@ -173,7 +174,8 @@
 	if(arg->i == 0)
 		master = MASTER;
 	else {
-		if(master + arg->i > 950 || master + arg->i < 50)
+		if(waw * (master + arg->i) / 1000 > waw - bh - 2 * BORDERPX
+			|| waw * (master + arg->i) / 1000 < bh + 2 * BORDERPX)
 			return;
 		master += arg->i;
 	}