static void
_e_zone_client_apply_auto_placement(E_Zone *zone, E_Client *ec)
{
+ E_Desk *desk;
Eina_List *skiplist = NULL;
int new_x, new_y, t = 0;
int type;
{
type = 2;
skiplist = eina_list_append(skiplist, ec);
- if (ec->desk)
- e_place_desk_region_smart(ec->desk, skiplist,
+ desk = e_zone_desk_find_by_ec(zone, ec);
+ if (desk)
+ e_place_desk_region_smart(desk, skiplist,
ec->x, ec->y, ec->w, ec->h,
&new_x, &new_y);
else
int y_count)
{
E_Desk **new_desks;
- E_Desk *desk, *new_desk;
+ E_Desk *desk, *new_desk, *ec_desk;
E_Client *ec;
E_Event_Zone_Desk_Count_Set *ev;
int x, y, xx, yy, moved, nx, ny;
E_CLIENT_FOREACH(ec)
{
- if (ec->desk == desk)
+ ec_desk = e_zone_desk_find_by_ec(zone, ec);
+ if (ec_desk == desk)
#ifdef REFACTOR_ZONE_DESK
e_desk_client_add(new_desk, ec);
#else
E_CLIENT_FOREACH(ec)
{
- if (ec->desk == desk)
+ ec_desk = e_zone_desk_find_by_ec(zone, ec);
+ if (ec_desk == desk)
#ifdef REFACTOR_ZONE_DESK
e_desk_client_add(new_desk, ec);
#else