int button_id;
int cx, cy;
Evas_Point current, moveinfo;
+ E_Zone *zone;
if (e_object_is_del(E_OBJECT(ec))) return;
if (e_client_util_ignored_get(ec)) return;
if (!ec->transformed) return;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
+
button_id = ec->moveinfo.down.button;
org_w = ec->mouse.last_down[button_id - 1].w;
new_h = ec->moveinfo.down.h + (current.y - moveinfo.y);
}
- new_w = MIN(new_w, ec->zone->w);
- new_h = MIN(new_h, ec->zone->h);
+ new_w = MIN(new_w, zone->w);
+ new_h = MIN(new_h, zone->h);
/* step 4: move to new position */
if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
e_client_check_fully_contain_by_above(E_Client *ec, Eina_Bool check_layer)
{
E_Client *above = NULL;
- E_Zone *_z = NULL;
+ E_Zone *zone = NULL;
int x = 0, y = 0, w = 0, h = 0;
int ax = 0, ay = 0, aw = 0, ah = 0;
e_client_geometry_get(ec, &x, &y, &w, &h);
- if (ec->zone)
- {
- _z = ec->zone;
- E_RECTS_CLIP_TO_RECT(x, y, w, h, _z->x, _z->y, _z->w, _z->h);
- }
+ zone = e_comp_zone_find_by_ec(ec);
+ if (zone)
+ E_RECTS_CLIP_TO_RECT(x, y, w, h, zone->x, zone->y, zone->w, zone->h);
above = e_client_above_get(ec);
while (above)
if (ec->visibility.force_obscured) return EINA_FALSE;
if (!_e_client_focus_can_take_by_vis_obscured(ec)) return EINA_FALSE;
- zone = ec->zone;
+ zone = e_comp_zone_find_by_ec(ec);
if (zone)
{
e_client_geometry_get(ec, &x, &y, &w, &h);
_e_client_revert_focus_get(E_Client *ec)
{
E_Client *pec = NULL, *focus_ec = NULL;
+ E_Zone *zone;
E_Desk *desk = NULL;
if (stopping) return NULL;
if (!ec)
return _e_client_find_next_focus(NULL);
- if (!ec->zone) return NULL;
- desk = e_desk_current_get(ec->zone);
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return NULL;
+ desk = e_desk_current_get(zone);
if (!desk) return NULL;
if (!e_comp_client_zone_is_displaying(ec)) return NULL;
new_h = h;
if (e_config->screen_limits == E_CLIENT_OFFSCREEN_LIMIT_ALLOW_NONE)
{
- if (ec->zone)
+ E_Zone *zone;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (zone)
{
- w = MIN(w, ec->zone->w);
- h = MIN(h, ec->zone->h);
+ w = MIN(w, zone->w);
+ h = MIN(h, zone->h);
}
}
e_client_resize_limit(ec, &new_w, &new_h);
{
int x, y, w, h;
E_Zone *zone_above, *zone_below, *zone_left, *zone_right;
+ E_Zone *zone;
- if (!ec->zone) return;
- x = ec->zone->x;
- y = ec->zone->y;
- w = ec->zone->w;
- h = ec->zone->h;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
+ x = zone->x;
+ y = zone->y;
+ w = zone->w;
+ h = zone->h;
if (eina_list_count(e_comp->zones) == 1)
{
w = zone_right->x + zone_right->w;
if (zone_left)
- w = ec->zone->x + ec->zone->w;
+ w = zone->x + zone->w;
if (zone_below)
h = zone_below->y + zone_below->h;
if (zone_above)
- h = ec->zone->y + ec->zone->h;
+ h = zone->y + zone->h;
if ((zone_left) && (zone_right))
- w = ec->zone->w + zone_right->x;
+ w = zone->w + zone_right->x;
if ((zone_above) && (zone_below))
- h = ec->zone->h + zone_below->y;
+ h = zone->h + zone_below->y;
- if (x) x -= ec->zone->w;
- if (y) y -= ec->zone->h;
+ if (x) x -= zone->w;
+ if (y) y -= zone->h;
if (zx) *zx = x > 0 ? x : 0;
if (zy) *zy = y > 0 ? y : 0;
int new_x_max, new_y_max;
int zw, zh;
Eina_Bool lw, lh;
+ E_Zone *zone;
- if (!ec->zone)
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone)
{
if (new_x) *new_x = x;
if (new_y) *new_y = y;
int margin_w, margin_h;
int zw, zh;
int cw, ch;
+ E_Zone *zone;
- if (!ec->zone)
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone)
{
if (new_x) *new_x = x;
if (new_y) *new_y = y;
E_Zone *zone;
/* still within old zone - leave it there */
- if (ec->zone && E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
- ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
+ zone = e_comp_zone_find_by_ec(ec);
+ if (zone && E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
+ zone->x, zone->y, zone->w, zone->h))
return;
+
/* find a new zone */
EINA_LIST_FOREACH(e_comp->zones, l, zone)
{
#else
if (ec->focused)
{
- if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
- ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
+ E_Zone *zone;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (zone && !E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
+ zone->x, zone->y, zone->w, zone->h))
{
e_client_revert_focus(ec);
}
int ecx, ecy, ecw, ech;
int desk_x, desk_y, desk_w, desk_h;
Eina_Bool override = ec->maximize_override;
+ E_Zone *zone;
- if (!ec->zone) return;
zx = zy = zw = zh = 0;
ec->maximize_override = 1;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
+
if (ec->desk_area.enable && ec->desk_area.desk_area)
{
desk_x = ec->desk_area.desk_area->x;
}
else
{
- e_zone_desk_useful_geometry_get(ec->zone, ec->desk, &zx, &zy, &zw, &zh);
+ e_zone_desk_useful_geometry_get(zone, ec->desk, &zx, &zy, &zw, &zh);
}
}
else
int new_x, new_y, t = 0;
int type;
E_Client *parent_ec;
+ E_Zone *zone;
// intercept auto placement policy
if (!_e_client_intercept_hook_call(E_CLIENT_INTERCEPT_HOOK_AUTO_PLACEMENT, ec))
}
int zx = 0, zy = 0, zw = 0, zh = 0;
- e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
+
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
+
+ e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
unsigned int seed = (unsigned int)time(NULL);
ec->x, ec->y, ec->w, ec->h,
&new_x, &new_y);
else
- e_place_zone_region_smart(ec->zone, skiplist,
+ e_place_zone_region_smart(zone, skiplist,
ec->x, ec->y, ec->w, ec->h,
&new_x, &new_y);
else if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_MANUAL)
{
type = 3;
- e_place_zone_manual(ec->zone, ec->w, t, &new_x, &new_y);
+ e_place_zone_manual(zone, ec->w, t, &new_x, &new_y);
}
else
{
type = 0;
- e_place_zone_cursor(ec->zone, ec->x, ec->y, ec->w, ec->h,
+ e_place_zone_cursor(zone, ec->x, ec->y, ec->w, ec->h,
t, &new_x, &new_y);
}
int ex, ey, ew, eh;
int px, py, pw, ph;
int nw, nh;
+ E_Zone *zone;
if (e_object_is_del(E_OBJECT(ec)))
{
return;
}
- if ((ec->new_client) && (!e_client_util_ignored_get(ec)) && (ec->zone))
+ zone = e_comp_zone_find_by_ec(ec);
+ if ((ec->new_client) && (!e_client_util_ignored_get(ec)) && (zone))
{
int zx = 0, zy = 0, zw = 0, zh = 0;
- e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
+ e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
/* enforce wm size hints for initial sizing */
if (e_config->screen_limits == E_CLIENT_OFFSCREEN_LIMIT_ALLOW_NONE)
{
- tw = MIN(ec->w, ec->zone->w);
- th = MIN(ec->h, ec->zone->h);
+ tw = MIN(ec->w, zone->w);
+ th = MIN(ec->h, zone->h);
e_client_size_set(ec, tw, th);
}
if (ec->parent->zone != e_zone_current_get())
{
e_client_zone_set(ec, ec->parent->zone);
- e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
+ e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
}
if (evas_object_visible_get(ec->parent->frame))
/* if the explicit geometry request asks for the app to be
* in another zone - well move it there */
{
- E_Zone *zone = NULL;
+ E_Zone *zone1 = NULL;
int x, y;
x = MAX(ec->x, 0);
y = MAX(ec->y, 0);
if ((!ec->re_manage) && ((ec->x != x) || (ec->y != y)))
- zone = e_comp_zone_xy_get(x, y);
+ zone1 = e_comp_zone_xy_get(x, y);
- if (!zone)
+ if (!zone1)
{
- zone = e_comp_zone_xy_get(ec->x + (ec->w / 2), ec->y + (ec->h / 2));
- if (zone)
+ zone1 = e_comp_zone_xy_get(ec->x + (ec->w / 2), ec->y + (ec->h / 2));
+ if (zone1)
{
E_Zone *z2 = e_comp_zone_xy_get(ec->x, ec->y);
- if (z2 && (z2 != zone))
+ if (z2 && (z2 != zone1))
{
size_t psz = 0;
E_Zone *zf = z2;
}
}
}
- if (!zone)
- zone = e_comp_zone_xy_get(ec->x, ec->y);
- if (!zone)
- zone = e_comp_zone_xy_get(ec->x + ec->w - 1, ec->y);
- if (!zone)
- zone = e_comp_zone_xy_get(ec->x + ec->w - 1, ec->y + ec->h - 1);
- if (!zone)
- zone = e_comp_zone_xy_get(ec->x, ec->y + ec->h - 1);
- if ((zone) && (zone != ec->zone))
- e_client_zone_set(ec, zone);
+ if (!zone1)
+ zone1 = e_comp_zone_xy_get(ec->x, ec->y);
+ if (!zone1)
+ zone1 = e_comp_zone_xy_get(ec->x + ec->w - 1, ec->y);
+ if (!zone1)
+ zone1 = e_comp_zone_xy_get(ec->x + ec->w - 1, ec->y + ec->h - 1);
+ if (!zone1)
+ zone1 = e_comp_zone_xy_get(ec->x, ec->y + ec->h - 1);
+ if ((zone1) && (zone1 != zone))
+ e_client_zone_set(ec, zone1);
}
}
// This code executes at E_CLIENT_HOOK_EVAL_END callback at e_focus_policy_topmost.c and e_focus_policy_history.c
#else
if ((!ec->input_only) && (!ec->iconic) &&
- ((!ec->zone) || e_client_util_desk_visible(ec, e_desk_current_get(ec->zone))) &&
+ ((!zone) || e_client_util_desk_visible(ec, e_desk_current_get(zone))) &&
((ec->take_focus) || (ec->want_focus)))
{
ec->take_focus = 0;
if (e_object_is_del(E_OBJECT(ec))) continue;
if (e_client_util_ignored_get(ec)) continue;
- if (ec->zone != zone) continue;
- if (!e_desk_current_get(ec->zone)) continue;
- if (ec->desk != e_desk_current_get(ec->zone)) continue;
+ if (!e_zone_has_ec(zone, ec)) continue;
+ if (!e_desk_current_get(zone)) continue;
+ if (ec->desk != e_desk_current_get(zone)) continue;
if (!(ec->icccm.accepts_focus || ec->icccm.take_focus)) continue;
if (ec->lock_focus_in || ec->lock_focus_out) continue;
{
E_Event_Client_Desk_Set *ev;
E_Desk *old_desk;
+ E_Zone *zone;
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
ecore_event_add(E_EVENT_CLIENT_DESK_SET, ev, (Ecore_End_Cb)_e_client_event_desk_set_free, NULL);
}
- if (old_desk->zone == ec->zone)
+ zone = e_comp_zone_find_by_ec(ec);
+ if (old_desk->zone == zone)
{
e_client_res_change_geometry_save(ec);
e_client_res_change_geometry_restore(ec);
EINTERN void
e_client_res_change_geometry_restore(E_Client *ec)
{
+ E_Zone *zone;
+
struct
{
unsigned char valid : 1;
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
if (!ec->pre_res_change.valid) return;
if (ec->new_client) return;
- if (!ec->zone) return;
+
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
memcpy(&pre_res_change, &ec->pre_res_change, sizeof(pre_res_change));
ec->saved.w = ec->pre_res_change.saved.w;
ec->saved.h = ec->pre_res_change.saved.h;
- e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
+ e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
if (ec->saved.w > zw)
ec->saved.w = zw;
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
E_OBJECT_CHECK(zone);
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
- if (ec->zone == zone) return;
+ if (e_zone_has_ec(zone, ec)) return;
ev = E_NEW(E_Event_Client_Zone_Set, 1);
if (!ev) return;
evas_object_move(ec->frame, x, y);
}
+ // TODO: NEED TO DELETE LINE BELOW
ec->zone = zone;
ev->ec = ec;
#else
E_Client *ec2, *ec_unfocus = focused;
Eina_List *l, *ll;
+ E_Zone *zone;
if (ec == focused) return;
focused = ec;
g_mutex_unlock(&focused_ec_mutex);
- if ((ec) && (ec->zone))
+ zone = e_comp_zone_find_by_ec(ec);
+ if (zone)
{
ec->focused = 1;
e_client_urgent_set(ec, 0);
- int x, total = ec->zone->desk_x_count * ec->zone->desk_y_count;
+ int x, total = zone->desk_x_count * zone->desk_y_count;
for (x = 0; x < total; x++)
{
- E_Desk *desk = ec->zone->desks[x];
+ E_Desk *desk = zone->desks[x];
/* if there's any fullscreen non-parents on this desk, unfullscreen them */
EINA_LIST_FOREACH_SAFE(desk->fullscreen_clients, l, ll, ec2)
{
_e_client_event_simple(ec, E_EVENT_CLIENT_FOCUS_IN);
if (ec->sticky && ec->desk && (!ec->desk->visible))
- e_client_desk_set(ec, e_desk_current_get(ec->zone));
+ e_client_desk_set(ec, e_desk_current_get(zone));
TRACE_DS_END();
#endif
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
EINA_LIST_FOREACH(e_comp->clients, l, ec)
{
- if (ec->zone != zone) continue;
+ if (!e_zone_has_ec(zone, ec)) continue;
if (e_client_util_ignored_get(ec)) continue;
- if (!E_INTERSECTS(ec->zone->x + loss_overlap,
- ec->zone->y + loss_overlap,
- ec->zone->w - (2 * loss_overlap),
- ec->zone->h - (2 * loss_overlap),
+ if (!E_INTERSECTS(zone->x + loss_overlap,
+ zone->y + loss_overlap,
+ zone->w - (2 * loss_overlap),
+ zone->h - (2 * loss_overlap),
ec->x, ec->y, ec->w, ec->h))
{
list = eina_list_append(list, ec);
e_client_maximize(E_Client *ec, E_Maximize max)
{
int desk_x, desk_y;
+ E_Zone *zone;
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
if (!(max & E_MAXIMIZE_DIRECTION)) max |= E_MAXIMIZE_BOTH;
if ((ec->shaded) || (ec->shading)) return;
ec->saved.h = ec->client.h;
}
- ec->saved.zone = ec->zone->num;
+ ec->saved.zone = zone->num;
_e_client_maximize(ec, max);
E_API void
e_client_unmaximize(E_Client *ec, E_Maximize max)
{
+ E_Zone *zone;
+
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
+
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
if (!(max & E_MAXIMIZE_DIRECTION))
{
CRI("BUG: Unmaximize call without direction!");
// un-set maximized state.
ec->maximized = E_MAXIMIZE_NONE;
e_client_util_move_resize_without_frame(ec,
- ec->saved.x + ec->zone->x,
- ec->saved.y + ec->zone->y,
+ ec->saved.x + zone->x,
+ ec->saved.y + zone->y,
ec->saved.w, ec->saved.h);
ec->saved.x = ec->saved.y = ec->saved.w = ec->saved.h = 0;
}
/* Remove vertical */
h = ec->saved.h;
vert = EINA_TRUE;
- y = ec->saved.y + ec->zone->y;
+ y = ec->saved.y + zone->y;
if ((max & E_MAXIMIZE_VERTICAL) == E_MAXIMIZE_VERTICAL)
{
ec->maximized &= ~E_MAXIMIZE_VERTICAL;
{
/* Remove horizontal */
w = ec->saved.w;
- x = ec->saved.x + ec->zone->x;
+ x = ec->saved.x + zone->x;
horiz = EINA_TRUE;
ec->maximized &= ~E_MAXIMIZE_HORIZONTAL;
}
e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
{
int x, y, w, h;
+ E_Zone *zone;
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
+
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
if ((ec->shaded) || (ec->shading) || (ec->fullscreen)) return;
}
else
{
- ec->saved.x = ec->client.x - ec->zone->x;
- ec->saved.y = ec->client.y - ec->zone->y;
+ ec->saved.x = ec->client.x - zone->x;
+ ec->saved.y = ec->client.y - zone->y;
ec->saved.w = ec->client.w;
ec->saved.h = ec->client.h;
}
ec->saved.maximized = ec->maximized;
- ec->saved.zone = ec->zone->num;
+ ec->saved.zone = zone->num;
if (ec->maximized)
{
if ((eina_list_count(e_comp->zones) > 1) ||
(policy == E_FULLSCREEN_RESIZE))
{
- e_client_frame_geometry_set(ec, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
+ e_client_frame_geometry_set(ec, zone->x, zone->y, zone->w, zone->h);
}
else if (policy == E_FULLSCREEN_ZOOM)
{
EINTERN void
e_client_unfullscreen(E_Client *ec)
{
+ E_Zone *zone;
+
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
+
+ zone = e_comp_zone_find_by_ec(ec);
+ if (!zone) return;
if ((ec->shaded) || (ec->shading)) return;
if (!ec->fullscreen) return;
ec->pre_res_change.valid = 0;
_e_client_frame_update(ec);
ec->fullscreen_policy = 0;
evas_object_smart_callback_call(ec->frame, "unfullscreen", NULL);
- e_client_util_move_resize_without_frame(ec, ec->zone->x + ec->saved.x,
- ec->zone->y + ec->saved.y,
+ e_client_util_move_resize_without_frame(ec, zone->x + ec->saved.x,
+ zone->y + ec->saved.y,
ec->saved.w, ec->saved.h);
if (ec->saved.maximized)
ec, ec->iconic, ec->argb, (unsigned int)ec->exp_iconify.not_raise,
ec->exp_iconify.by_client, ec->exp_iconify.type);
- if (!ec->zone) return;
if (ec->shading || ec->iconic) return;
if (ec->exp_iconify.skip_iconify && !iconified_by_client) return;
if (ec->exp_iconify.skip_by_remote) return;
ec->exp_iconify.by_client, ec->exp_iconify.type,
cdata ? cdata->mapped : 0);
- if (!ec->zone) return;
if (ec->shading || (!ec->iconic)) return;
TRACE_DS_BEGIN(CLIENT:UNICONIFY);
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
-
urgent = !!urgent;
if (urgent == ec->urgent) return;
_e_client_event_property(ec, E_CLIENT_PROPERTY_URGENCY);
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (ec->sticky) return;
desk = ec->desk;
ec->desk = NULL;
e_client_unstick(E_Client *ec)
{
E_Desk *desk;
+ E_Zone *zone;
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
/* Set the desk before we unstick the client */
if (!ec->sticky) return;
- desk = e_desk_current_get(ec->zone);
+
+ zone = e_comp_zone_find_by_ec(ec);
+ desk = e_desk_current_get(zone);
ec->desk = NULL;
ec->hidden = ec->sticky = 0;
e_client_desk_set(ec, desk);
_e_client_event_property(ec, E_CLIENT_PROPERTY_STICKY);
- e_client_desk_set(ec, e_desk_current_get(ec->zone));
+ e_client_desk_set(ec, e_desk_current_get(zone));
}
EINTERN void
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
hidden = !!hidden;
if (ec->comp_hidden == hidden) return;
e_client_act_move_keyboard(E_Client *ec)
{
EINA_SAFETY_ON_NULL_RETURN(ec);
- if (!ec->zone) return;
if (!_e_client_move_begin(ec))
return;
e_client_act_resize_keyboard(E_Client *ec)
{
EINA_SAFETY_ON_NULL_RETURN(ec);
- if (!ec->zone) return;
ec->resize_mode = E_POINTER_RESIZE_TL;
ec->keyboard_resizing = 1;
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (e_client_util_resizing_get(ec) || (ec->moving)) return;
if (ev)
{
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (!ec->moving) return;
_e_client_move_end(ec);
_e_client_action_finish();
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (ec->lock_user_size || ec->shaded || ec->shading) return;
if (e_client_util_resizing_get(ec) || (ec->moving)) return;
if (ev)
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (e_client_util_resizing_get(ec))
{
_e_client_resize_end(ec);
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
}
EINTERN void
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (ec->lock_close) return;
if (ec->icccm.delete_request)
{
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (ec->internal) return;
if (ec->lock_close) return;
if ((ec->netwm.pid > 1) && (e_config->kill_process))
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (e_client_util_resizing_get(ec) || (ec->moving)) return;
_e_client_moveinfo_gather(ec, sig);
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (!ec->zone) return;
if (!ec->moving) return;
_e_client_move_end(ec);
}
e_client_base_output_resolution_useful_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h)
{
int zx, zy, zw, zh;
+ E_Zone *zone;
E_OBJECT_CHECK_RETURN(ec, EINA_FALSE);
- EINA_SAFETY_ON_NULL_RETURN_VAL(ec->zone, EINA_FALSE);
- e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
+ zone = e_comp_zone_find_by_ec(ec);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(zone, EINA_FALSE);
+
+ e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
if (x) *x = zx;
if (y) *y = zy;