From 7541a51599652e61d9797049414e90d8e56fc31b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 4 Apr 2016 11:28:04 -0400 Subject: [PATCH] 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 8992f7a91..d4974a7b5 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))); }