EINTERN void
e_place_zone_region_smart_cleanup(E_Zone *zone)
{
- E_Desk *desk;
+ E_Desk *desk, *ec_desk;
Eina_List *clients = NULL;
E_Client *ec;
desk = e_desk_current_get(zone);
E_CLIENT_FOREACH(ec)
{
+ ec_desk = e_zone_desk_find_by_ec(zone, ec);
/* Build a list of windows on this desktop and not iconified. */
- if ((ec->desk == desk) && (!ec->iconic) &&
+ if ((ec_desk == desk) && (!ec->iconic) &&
(!ec->lock_user_location) && (!e_client_util_ignored_get(ec)))
{
int area;
int x2, y2, w2, h2;
int iw, ih;
int x0, x00, yy0, y00;
+ E_Desk *ec_desk;
E_CLIENT_FOREACH(ec)
{
if (eina_list_data_find(skiplist, ec)) continue;
if (e_client_util_ignored_get(ec)) continue;
x2 = (ec->x - desk->zone->x); y2 = (ec->y - desk->zone->y); w2 = ec->w; h2 = ec->h;
+ ec_desk = e_zone_desk_find_by_ec(desk->zone, ec);
if (E_INTERSECTS(x, y, w, h, x2, y2, w2, h2) &&
- ((ec->sticky) || (ec->desk == desk)) &&
+ ((ec->sticky) || (ec_desk == desk)) &&
(!ec->iconic) && (ec->visible))
{
x0 = x;
int zw, zh;
char *u_x = NULL, *u_y = NULL;
E_Client *ec;
+ E_Desk *ec_desk;
*rx = x;
*ry = y;
if (eina_list_data_find(skiplist, ec)) continue;
- if (!((ec->sticky) || (ec->desk == desk))) continue;
+ ec_desk = e_zone_desk_find_by_ec(desk->zone, ec);
+ if (!((ec->sticky) || (ec_desk == desk))) continue;
bx = ec->x - desk->zone->x;
by = ec->y - desk->zone->y;