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)
-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 782a57f..d4f4591 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,
1677 .inserted_before = 0, 1677 .inserted_before = 0,
1678 .generation = 1, 1678 .generation = 1,
1679 }; 1679 };
1680 Eina_Bool at_least_one = EINA_FALSE;
1681 int c = 0;
1680 1682
1681 if (pd->callbacks_count == 0) return EINA_FALSE; 1683 if (pd->callbacks_count == 0) return EINA_FALSE;
1682 else if ((desc == EFL_EVENT_CALLBACK_ADD) && 1684 else if ((desc == EFL_EVENT_CALLBACK_ADD) &&
@@ -1710,6 +1712,7 @@ restart_back:
1710 1712
1711 for (; idx > 0; idx--) 1713 for (; idx > 0; idx--)
1712 { 1714 {
1715 c++;
1713 frame.idx = idx; 1716 frame.idx = idx;
1714 cb = pd->callbacks + idx - 1; 1717 cb = pd->callbacks + idx - 1;
1715 if (!(*cb)->delete_me) 1718 if (!(*cb)->delete_me)
@@ -1736,6 +1739,7 @@ restart_back:
1736 // Handle nested restart of walking list 1739 // Handle nested restart of walking list
1737 if (lookup) lookup->current = idx - 1; 1740 if (lookup) lookup->current = idx - 1;
1738 it->func((void *) (*cb)->func_data, &ev); 1741 it->func((void *) (*cb)->func_data, &ev);
1742 at_least_one = EINA_TRUE;
1739 /* Abort callback calling if the func says so. */ 1743 /* Abort callback calling if the func says so. */
1740 if (pd->callback_stopped) 1744 if (pd->callback_stopped)
1741 { 1745 {
@@ -1759,6 +1763,7 @@ restart_back:
1759 // Handle nested restart of walking list 1763 // Handle nested restart of walking list
1760 if (lookup) lookup->current = idx - 1; 1764 if (lookup) lookup->current = idx - 1;
1761 (*cb)->items.item.func((void *) (*cb)->func_data, &ev); 1765 (*cb)->items.item.func((void *) (*cb)->func_data, &ev);
1766 at_least_one = EINA_TRUE;
1762 /* Abort callback calling if the func says so. */ 1767 /* Abort callback calling if the func says so. */
1763 if (pd->callback_stopped) 1768 if (pd->callback_stopped)
1764 { 1769 {
@@ -1789,6 +1794,9 @@ end:
1789 1794
1790 pd->callback_stopped = callback_already_stopped; 1795 pd->callback_stopped = callback_already_stopped;
1791 1796
1797 if (!at_least_one)
1798 printf("Emitting dead event %s %d %d\n", desc->name, desc->legacy_is, c);
1799
1792 return ret; 1800 return ret;
1793restart: 1801restart:
1794 EINA_INLIST_FOREACH(pd->current, lookup) 1802 EINA_INLIST_FOREACH(pd->current, lookup)