E_API int E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE = -1;
-static E_Policy_Client *_e_policy_client_add(E_Client *ec);
static void _e_policy_client_del(E_Policy_Client *pc);
static Eina_Bool _e_policy_client_normal_check(E_Client *ec);
static Eina_Bool _e_policy_client_maximize_policy_apply(E_Policy_Client *pc);
EINA_SAFETY_ON_NULL_RETURN(pc);
ec = pc->ec;
- EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_GOTO(ec, delete_hook);
- if (!e_desk_has_ec(desk, ec)) return;
+ if (!e_desk_has_ec(desk, ec)) goto delete_hook;
- if (e_object_is_del(E_OBJECT(ec))) return;
- if (!_e_policy_client_normal_check(ec)) return;
- if (ec->internal) return;
- if (ec->new_client) return;
+ if (e_object_is_del(E_OBJECT(ec))) goto delete_hook;
+ if (!_e_policy_client_normal_check(ec)) goto delete_hook;
+ if (ec->internal) goto delete_hook;
+ if (ec->new_client) goto delete_hook;
pd = eina_hash_find(hash_policy_desks, &desk);
if (pd)
else
_e_policy_client_maximize_policy_cancel(pc);
+delete_hook:
// This function should be executed once when e_client adds on a desk.
// Therefore, delete the desk_hooks.client_add.
_e_policy_desk_client_add_hook_delete(pc);