diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -62,6 +62,7 @@ unsigned short event_cb_efl_event_callback_add_count; unsigned short event_cb_efl_event_callback_del_count; unsigned short event_cb_efl_event_del_count; + unsigned short event_cb_efl_event_noref_count; #endif Eina_Bool callback_stopped : 1; Eina_Bool need_cleaning : 1; @@ -1162,6 +1163,8 @@ CB_COUNT_INC(pd->event_cb_efl_event_callback_del_count); else if (it->desc == EFL_EVENT_DEL) CB_COUNT_INC(pd->event_cb_efl_event_del_count); + else if (it->desc == EFL_EVENT_NOREF) + CB_COUNT_INC(pd->event_cb_efl_event_noref_count); else if (it->desc == EFL_EVENT_DESTRUCT) pd->has_destroyed_event_cb = EINA_TRUE; } @@ -1175,6 +1178,8 @@ CB_COUNT_DEC(pd->event_cb_efl_event_callback_del_count); else if (it->desc == EFL_EVENT_DEL) CB_COUNT_DEC(pd->event_cb_efl_event_del_count); + else if (it->desc == EFL_EVENT_NOREF) + CB_COUNT_DEC(pd->event_cb_efl_event_noref_count); } #endif @@ -1227,6 +1232,7 @@ pd->event_cb_efl_event_callback_add_count = 0; pd->event_cb_efl_event_callback_del_count = 0; pd->event_cb_efl_event_del_count = 0; + pd->event_cb_efl_event_noref_count = 0; #endif } @@ -1612,6 +1618,8 @@ (pd->event_cb_efl_event_callback_del_count == 0)) return EINA_FALSE; else if ((desc == EFL_EVENT_DEL) && (pd->event_cb_efl_event_del_count == 0)) return EINA_FALSE; + else if ((desc == EFL_EVENT_NOREF) && + (pd->event_cb_efl_event_noref_count == 0)) return EINA_FALSE; #endif if (pd->event_frame)