static Eina_Bool
_e_client_focus_can_take(E_Client *ec)
{
+ E_Zone *zone = NULL;
E_Client *child_ec = NULL;
E_Client *above_ec = NULL;
+ int x = 0, y = 0, w = 0, h = 0;
if (!ec) return EINA_FALSE;
if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
return EINA_FALSE;
}
}
+ zone = ec->zone;
+ if (zone)
+ {
+ e_client_geometry_get(ec, &x, &y, &w, &h);
+ if (!E_INTERSECTS(zone->x, zone->y, zone->w, zone->h, x, y, w, h))
+ {
+ return EINA_FALSE;
+ }
+ }
above_ec = _e_client_check_fully_contain_by_above(ec, EINA_FALSE);
if (!above_ec) return EINA_TRUE;