From 5ae61c954eebfddf6e8c32edc4546b88d0c7dd50 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 22 Sep 2015 12:37:14 -0400 Subject: [PATCH] clamp client geometry to zone during geometry calc somehow it was possible for client sizes to overflow the zone geometry here which would end up breaking maximization limits and result in clients not respecting various geometry boundaries --- src/bin/e_maximize.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_maximize.c b/src/bin/e_maximize.c index 74aa4d762..fd12f673d 100644 --- a/src/bin/e_maximize.c +++ b/src/bin/e_maximize.c @@ -178,8 +178,8 @@ _e_maximize_client_rects_fill(E_Client *ec, Eina_List *rects, int *x1, int *yy1, bx = E_CLAMP(ec->x, ec->zone->x, ec->zone->x + ec->zone->w); by = E_CLAMP(ec->y, ec->zone->y, ec->zone->y + ec->zone->h); - bw = ec->w; - bh = ec->h; + bw = E_CLAMP(ec->w, 0, ec->zone->w); + bh = E_CLAMP(ec->h, 0, ec->zone->h); if ((dir & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_HORIZONTAL) _e_maximize_client_rects_fill_horiz(ec, rects, x1, x2, &bx, &by, &bw, &bh);