[E_COMP_WL_HOOK_BUFFER_CHANGE] = NULL,
[E_COMP_WL_HOOK_CLIENT_REUSE] = NULL,
[E_COMP_WL_HOOK_BUFFER_SIZE_CHANGE] = NULL,
+ [E_COMP_WL_HOOK_DEL] = NULL,
};
static Eina_Inlist *_e_comp_wl_pid_hooks[] =
{
if (ch->delete_me) continue;
ch->func(ch->data, ec);
- if (e_object_is_del(E_OBJECT(ec)))
+ if ((hookpoint != E_COMP_WL_HOOK_DEL) &&
+ (e_object_is_del(E_OBJECT(ec))))
break;
}
_e_comp_wl_hooks_walking--;
TRACE_DS_BEGIN(COMP_WL:CLIENT DEL CB);
+ _e_comp_wl_hook_call(E_COMP_WL_HOOK_DEL, ec);
+
if ((!ec->already_unparented) && (ec->comp_data->reparented))
_e_comp_wl_focus_down_set(ec);
E_COMP_WL_HOOK_BUFFER_CHANGE,
E_COMP_WL_HOOK_CLIENT_REUSE,
E_COMP_WL_HOOK_BUFFER_SIZE_CHANGE,
+ E_COMP_WL_HOOK_DEL,
E_COMP_WL_HOOK_LAST,
} E_Comp_Wl_Hook_Point;