Evas_Object *o;
E_Client *ec, *_ec;
E_Comp_Wl_Remote_Surface *surface, *parent = NULL;
+ E_Zone *zone;
Eina_List *l;
if (!provider) return;
ec = provider->common.ec;
if (!ec) return;
if (!ec->comp_data) return;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
if (!provider->common.surfaces) return;
o = evas_object_top_get(e_comp->evas);
if (!_ec->remote_surface.consumer) continue;
if (e_object_is_del(E_OBJECT(_ec))) continue;
if (e_client_util_ignored_get(_ec)) continue;
- if (_ec->zone != ec->zone) continue;
if (!_ec->frame) continue;
if (!_ec->visible) continue;
if (_ec->visibility.skip) continue;
continue;
if (e_comp_wl_subsurface_check(_ec)) continue;
- if (!E_INTERSECTS(_ec->x, _ec->y, _ec->w, _ec->h, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
+ if (!e_zone_has_ec(zone, _ec)) continue;
+ if (!E_INTERSECTS(_ec->x, _ec->y, _ec->w, _ec->h, zone->x, zone->y, zone->w, zone->h))
continue;
EINA_LIST_FOREACH(provider->common.surfaces, l, surface)