diff options
-rw-r--r-- | client.c | 4 | ||||
-rw-r--r-- | kbfunc.c | 10 |
2 files changed, 8 insertions, 6 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: client.c,v 1.213 2015/11/11 14:22:01 okan Exp $ + * $OpenBSD: client.c,v 1.214 2015/11/12 18:33:30 okan Exp $ */ #include <sys/types.h> @@ -839,6 +839,8 @@ client_getsizehints(struct client_ctx *cc) } cc->hint.incw = MAX(1, cc->hint.incw); cc->hint.inch = MAX(1, cc->hint.inch); + cc->hint.minw = MAX(1, cc->hint.minw); + cc->hint.minh = MAX(1, cc->hint.minh); if (size.flags & PAspect) { if (size.min_aspect.x > 0) @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: kbfunc.c,v 1.123 2015/11/12 18:26:41 okan Exp $ + * $OpenBSD: kbfunc.c,v 1.124 2015/11/12 18:33:30 okan Exp $ */ #include <sys/types.h> @@ -143,10 +143,10 @@ kbfunc_client_resize(struct client_ctx *cc, union arg *arg) kbfunc_amount(arg->i, &mx, &my); - if ((cc->geom.w += mx) < 1) - cc->geom.w = 1; - if ((cc->geom.h += my) < 1) - cc->geom.h = 1; + if ((cc->geom.w += mx * cc->hint.incw) < cc->hint.minw) + cc->geom.w = cc->hint.minw; + if ((cc->geom.h += my * cc->hint.inch) < cc->hint.minh) + cc->geom.h = cc->hint.minh; client_resize(cc, 1); /* Make sure the pointer stays within the window. */ |