eo - fix ever growing callback list by actually flagging waiting dels

i found a massive slowdown that over time ended up with 10000's of
cb's in objects like the ecore loop object. this fixes that by
ACTUALLY flagging event deletions waiting to be true rather than false.
This commit is contained in:
Carsten Haitzler 2016-11-17 16:30:23 +09:00
parent f504950597
commit 1ac86bb878
1 changed files with 2 additions and 2 deletions

View File

@ -1115,7 +1115,7 @@ _efl_object_event_callback_del(Eo *obj, Efl_Object_Data *pd,
(*cb)->delete_me = EINA_TRUE;
if (pd->walking_list > 0)
pd->deletions_waiting = EINA_FALSE;
pd->deletions_waiting = EINA_TRUE;
else
_eo_callback_remove(pd, cb);
@ -1189,7 +1189,7 @@ _efl_object_event_callback_array_del(Eo *obj, Efl_Object_Data *pd,
{
(*cb)->delete_me = EINA_TRUE;
if (pd->walking_list > 0)
pd->deletions_waiting = EINA_FALSE;
pd->deletions_waiting = EINA_TRUE;
else
_eo_callback_remove(pd, cb);