diff options
author | WooHyun Jung <wh0705.jung@samsung.com> | 2017-07-26 18:57:37 +0900 |
---|---|---|
committer | WooHyun Jung <wh0705.jung@samsung.com> | 2017-07-26 18:57:37 +0900 |
commit | 9ef214ec0890116881fe79bc151c4ffa6b1fac83 (patch) | |
tree | 1fba137509cce43627b71a52f586257ac2538d7e | |
parent | 6d4ebf9bc696b59fc94a711a1d3332791efab90c (diff) | |
download | efl-9ef214ec0890116881fe79bc151c4ffa6b1fac83.tar.gz |
ecore_events: inarray should be flushed before return
@fix
-rw-r--r-- | src/lib/ecore/ecore_events.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c index 24a76bf457..3b13ef9015 100644 --- a/src/lib/ecore/ecore_events.c +++ b/src/lib/ecore/ecore_events.c @@ -616,13 +616,13 @@ ecore_event_type_flush_internal(int type, ...) va_list args; Eina_Bool wrong_type = EINA_FALSE; + // In case of an empty list of event + if (type == ECORE_EVENT_NONE) return; + eina_inarray_step_set(&types, sizeof (Eina_Inarray), sizeof (int), 4); eina_inarray_push(&types, &type); - // In case of an empty list of event - if (type == ECORE_EVENT_NONE) return; - va_start(args, type); do { @@ -641,7 +641,11 @@ ecore_event_type_flush_internal(int type, ...) wrong_type = EINA_TRUE; } - if (wrong_type) return ; + if (wrong_type) + { + eina_inarray_flush(&types); + return ; + } EINA_INLIST_FOREACH_SAFE((Eina_Inlist *) events, l, event) { |