From 6877a00033f4785049928bfe7e98d754e1c757a9 Mon Sep 17 00:00:00 2001
From: Anselm R Garbe <garbeam@gmail.com>
Date: Fri, 17 Jul 2009 13:35:17 +0100
Subject: [PATCH 1/2] it's all nsz's hard investigation effort, hail nsz! ;)

---
 config.mk | 2 +-
 dwm.c     | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/config.mk b/config.mk
index 3fcfd2f..086424d 100644
--- a/config.mk
+++ b/config.mk
@@ -1,5 +1,5 @@
 # dwm version
-VERSION = 5.6
+VERSION = 5.7
 
 # Customize below to fit your system
 
diff --git a/dwm.c b/dwm.c
index 71d7e63..289b508 100644
--- a/dwm.c
+++ b/dwm.c
@@ -350,9 +350,9 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
 		/* adjust for aspect limits */
 		if(c->mina > 0 && c->maxa > 0) {
 			if(c->maxa < (float)*w / *h)
-				*w = *h * c->maxa;
+				*w = *h * c->maxa + 0.5; /* -Os double upcast workaround */
 			else if(c->mina < (float)*h / *w)
-				*h = *w * c->mina;
+				*h = *w * c->mina + 0.5; /* -Os double upcast workaround */
 		}
 		if(baseismin) { /* increment calculation requires this */
 			*w -= c->basew;
@@ -1807,8 +1807,8 @@ updatesizehints(Client *c) {
 	else
 		c->minw = c->minh = 0;
 	if(size.flags & PAspect) {
-		c->mina = (float)size.min_aspect.y / (float)size.min_aspect.x;
-		c->maxa = (float)size.max_aspect.x / (float)size.max_aspect.y;
+		c->mina = (float)size.min_aspect.y / size.min_aspect.x;
+		c->maxa = (float)size.max_aspect.x / size.max_aspect.y;
 	}
 	else
 		c->maxa = c->mina = 0.0;

From 999d6e795f26f85e4b4b59adb7637ec067a9deee Mon Sep 17 00:00:00 2001
From: Anselm R Garbe <garbeam@gmail.com>
Date: Fri, 17 Jul 2009 15:28:07 +0100
Subject: [PATCH 2/2] removed misleading comment

---
 dwm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dwm.c b/dwm.c
index 289b508..e22ea7a 100644
--- a/dwm.c
+++ b/dwm.c
@@ -350,9 +350,9 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
 		/* adjust for aspect limits */
 		if(c->mina > 0 && c->maxa > 0) {
 			if(c->maxa < (float)*w / *h)
-				*w = *h * c->maxa + 0.5; /* -Os double upcast workaround */
+				*w = *h * c->maxa + 0.5;
 			else if(c->mina < (float)*h / *w)
-				*h = *w * c->mina + 0.5; /* -Os double upcast workaround */
+				*h = *w * c->mina + 0.5;
 		}
 		if(baseismin) { /* increment calculation requires this */
 			*w -= c->basew;