summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-10-09 19:38:44 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-10-09 19:45:38 +0200
commit6cd985b1ead5481617980e6a5ebef527861f7f15 (patch)
treecd87f63a8a5376ee473aebec1b78d92e98c9de44
parentb8fab9b8dd06599255d151ff0f1d84e35a5c222a (diff)
downloadefl-devs/bu5hm4n/dead_events.tar.gz
-rw-r--r--src/lib/eo/eo_base_class.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 782a57f52e..d4f4591398 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -1677,6 +1677,8 @@ _event_callback_call(Eo *obj_id, Efl_Object_Data *pd,
.inserted_before = 0,
.generation = 1,
};
+ Eina_Bool at_least_one = EINA_FALSE;
+ int c = 0;
if (pd->callbacks_count == 0) return EINA_FALSE;
else if ((desc == EFL_EVENT_CALLBACK_ADD) &&
@@ -1710,6 +1712,7 @@ restart_back:
for (; idx > 0; idx--)
{
+ c++;
frame.idx = idx;
cb = pd->callbacks + idx - 1;
if (!(*cb)->delete_me)
@@ -1736,6 +1739,7 @@ restart_back:
// Handle nested restart of walking list
if (lookup) lookup->current = idx - 1;
it->func((void *) (*cb)->func_data, &ev);
+ at_least_one = EINA_TRUE;
/* Abort callback calling if the func says so. */
if (pd->callback_stopped)
{
@@ -1759,6 +1763,7 @@ restart_back:
// Handle nested restart of walking list
if (lookup) lookup->current = idx - 1;
(*cb)->items.item.func((void *) (*cb)->func_data, &ev);
+ at_least_one = EINA_TRUE;
/* Abort callback calling if the func says so. */
if (pd->callback_stopped)
{
@@ -1789,6 +1794,9 @@ end:
pd->callback_stopped = callback_already_stopped;
+ if (!at_least_one)
+ printf("Emitting dead event %s %d %d\n", desc->name, desc->legacy_is, c);
+
return ret;
restart:
EINA_INLIST_FOREACH(pd->current, lookup)