discomfitor pushed a commit to branch master.

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

commit 7541a51599652e61d9797049414e90d8e56fc31b
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Apr 4 11:28:04 2016 -0400

    use zone geometry for shelf zone obstacles
    
    shelves use relative coords, so zone obstacles must have adjusted coords
    passed in order to calc correctly
    
    fix T3404
---
 src/bin/e_shelf.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c
index 8992f7a..d4974a7 100644
--- a/src/bin/e_shelf.c
+++ b/src/bin/e_shelf.c
@@ -142,7 +142,9 @@ _e_shelf_obstacles_update(E_Shelf *es)
    E_Zone_Obstacle *obs;
 
    EINA_LIST_FOREACH(es->zone_obstacles, l, obs)
-     e_zone_obstacle_modify(obs, &(Eina_Rectangle){es->x, es->y, es->w, 
es->h}, !_e_shelf_is_horizontal(es));
+     e_zone_obstacle_modify(obs,
+       &(Eina_Rectangle){es->x + es->zone->x, es->y + es->zone->y, es->w, 
es->h},
+       !_e_shelf_is_horizontal(es));
 }
 
 static Eina_Bool
@@ -1032,13 +1034,15 @@ e_shelf_obstacles_update(E_Shelf *es)
              desk = e_desk_at_xy_get(es->zone, sd->x, sd->y);
              if (!desk) continue;
              es->zone_obstacles = eina_list_append(es->zone_obstacles,
-               e_zone_obstacle_add(es->zone, desk, &(Eina_Rectangle){es->x, 
es->y, es->w, es->h},
+               e_zone_obstacle_add(es->zone, desk,
+                 &(Eina_Rectangle){es->x + es->zone->x, es->y + es->zone->y, 
es->w, es->h},
                  !_e_shelf_is_horizontal(es)));
           }
      }
    else
      es->zone_obstacles = eina_list_append(es->zone_obstacles,
-       e_zone_obstacle_add(es->zone, NULL, &(Eina_Rectangle){es->x, es->y, 
es->w, es->h},
+       e_zone_obstacle_add(es->zone, NULL,
+         &(Eina_Rectangle){es->x + es->zone->x, es->y + es->zone->y, es->w, 
es->h},
          !_e_shelf_is_horizontal(es)));
 }
 

-- 


Reply via email to