discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 5ae61c954eebfddf6e8c32edc4546b88d0c7dd50
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 74aa4d7..fd12f67 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