discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=f3edf38e49dc56aed9a5d062726804ce738a84e2

commit f3edf38e49dc56aed9a5d062726804ce738a84e2
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Sep 22 12:37:14 2015 -0400

    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 7a574d0..8399af9 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);

-- 


Reply via email to