static E_Client_Resize_Object_Create_Cb _e_client_resize_object_create_cb = NULL;
static Eina_Bool _e_calc_visibility = EINA_FALSE;
-static Eina_Bool _e_visibility_changed = EINA_FALSE;
static GMutex focused_ec_mutex;
return _e_client_position_inside_input_rect(ec, tx, ty);
}
-static void
+static Eina_Bool
_e_client_visibility_zone_calculate(E_Zone *zone)
{
E_Client *ec;
E_Client *touched_ec;
Eina_Bool iconified_by_client = EINA_FALSE;
+ Eina_Bool e_visibility_changed = EINA_FALSE;
if (!e_config->calc_vis_without_effect)
{
- if (e_comp->animating) return;
+ if (e_comp->animating) return EINA_FALSE;
}
- if (!zone) return;
+ if (!zone) return EINA_FALSE;
TRACE_DS_BEGIN(CLIENT:VISIBILITY CALCULATE);
}
ec->visibility.changed = 0;
- _e_visibility_changed = 1;
+ e_visibility_changed = EINA_TRUE;
}
changed_list = eina_list_free(changed_list);
_e_client_hook_call(E_CLIENT_HOOK_EVAL_VISIBILITY_END, NULL);
TRACE_DS_END();
+
+ return e_visibility_changed;
}
static void
{
E_Zone *zone;
Eina_List *zl;
+ Eina_Bool e_visibility_changed = EINA_FALSE;
+
EINA_LIST_FOREACH(e_comp->zones, zl, zone)
{
if (_e_calc_visibility)
- _e_client_visibility_zone_calculate(zone);
+ e_visibility_changed = _e_client_visibility_zone_calculate(zone);
if (check_focus ||
(focused == NULL) ||
(_e_calc_visibility && (defer_focus_stack != NULL)) ||
- (_e_visibility_changed))
+ (e_visibility_changed))
{
_e_client_focus_calculate(zone);
}
}
_e_calc_visibility = EINA_FALSE;
- _e_visibility_changed = 0;
}