if (stopping) return;
if (!ec->focused) return;
+ if (!ec->zone) return;
desk = e_desk_current_get(ec->zone);
if (ec->desk == desk)
evas_object_focus_set(ec->frame, 0);
h = new_h;
if (e_config->screen_limits == E_CLIENT_OFFSCREEN_LIMIT_ALLOW_NONE)
{
- w = MIN(w, ec->zone->w);
- h = MIN(h, ec->zone->h);
+ if (ec->zone)
+ {
+ w = MIN(w, ec->zone->w);
+ h = MIN(h, ec->zone->h);
+ }
}
e_client_resize_limit(ec, &new_w, &new_h);
if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
goto stop;
if (e_config->screen_limits == E_CLIENT_OFFSCREEN_LIMIT_ALLOW_NONE)
{
- w = MIN(w, action_client->zone->w);
- h = MIN(h, action_client->zone->h);
+ if (action_client->zone)
+ {
+ w = MIN(w, action_client->zone->w);
+ h = MIN(h, action_client->zone->h);
+ }
}
e_client_resize_limit(action_client, &w, &h);
evas_object_resize(action_client->frame, w, h);
int x, y, w, h;
E_Zone *zone_above, *zone_below, *zone_left, *zone_right;
+ if (!ec->zone) return;
x = ec->zone->x;
y = ec->zone->y;
w = ec->zone->w;
int ecx, ecy, ecw, ech;
Eina_Bool override = ec->maximize_override;
+ if (!ec->zone) return;
zx = zy = zw = zh = 0;
ec->maximize_override = 1;
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_NEW_CLIENT, ec)) return;
- if (ec->new_client && (!e_client_util_ignored_get(ec)))
+ if ((ec->new_client) && (!e_client_util_ignored_get(ec)) && (ec->zone))
{
int zx = 0, zy = 0, zw = 0, zh = 0;
ec->shelf_fix.y = 0;
ec->shelf_fix.modified = 0;
evas_object_move(ec->frame, new_x, new_y);
- e_zone_flip_coords_handle(ec->zone, output->x, output->y);
+ if (ec->zone) e_zone_flip_coords_handle(ec->zone, output->x, output->y);
}
else if (e_client_util_resizing_get(ec))
{
ec->drag.x = output->x;
ec->drag.y = output->y;
}
- else
+ else if (ec->zone)
{
int dx, dy;
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
if (!ec->pre_res_change.valid) return;
if (ec->new_client) return;
+ if (!ec->zone) return;
memcpy(&pre_res_change, &ec->pre_res_change, sizeof(pre_res_change));
if (ec == focused) return;
focused = ec;
- if (ec)
+ if ((ec) && (ec->zone))
{
ec->focused = 1;
e_client_urgent_set(ec, 0);
}
}
- while (ec_unfocus)
+ while ((ec_unfocus) && (ec_unfocus->zone))
{
ec_unfocus->want_focus = ec_unfocus->focused = 0;
if (!e_object_is_del(E_OBJECT(ec_unfocus)))
EINA_LIST_FOREACH(e_comp->clients, l, ec)
{
if (ec->zone != zone) continue;
+ if (!ec->zone) continue;
if (!E_INTERSECTS(ec->zone->x + loss_overlap,
ec->zone->y + loss_overlap,
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if (!(max & E_MAXIMIZE_DIRECTION)) max |= E_MAXIMIZE_BOTH;
if ((ec->shaded) || (ec->shading)) return;
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if (!(max & E_MAXIMIZE_DIRECTION))
{
CRI("BUG: Unmaximize call without direction!");
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if ((ec->shaded) || (ec->shading) || ec->fullscreen) return;
if (ec->new_client)
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if ((ec->shaded) || (ec->shading)) return;
if (!ec->fullscreen) return;
ec->pre_res_change.valid = 0;
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if (ec->shading || ec->iconic) return;
ec->iconic = 1;
ec->want_focus = ec->take_focus = 0;
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if (ec->shading || (!ec->iconic)) return;
desk = e_desk_current_get(ec->desk->zone);
e_client_desk_set(ec, desk);
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
urgent = !!urgent;
if (urgent == ec->urgent) return;
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_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);
{
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;
if (!e_client_resize_begin(ec))
{
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 (!_e_client_move_begin(ec))
return;
{
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
+ if (!ec->zone) return;
if (!ec->moving) return;
e_zone_edge_enable();
_e_client_move_end(ec);
{
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;
if (ec->border_menu) return;
if (ev)
e_int_client_menu_show(ec, ev->canvas.x, ev->canvas.y, key, ev->timestamp);
{
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;
if (!_e_client_move_begin(ec)) return;
{
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_zone_edge_enable();
int x, y;
E_Client *cec = NULL;
+ if (!ec->zone) return 0;
if (e_config->disable_all_pointer_warps) return 0;
/* Only warp the pointer if it is not already in the area of
* the given border */