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
This commit is contained in:
parent
f60273357f
commit
7541a51599
|
@ -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)));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue