From 6a500331bdfd5529a582af1033d163f9e53e6861 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 7 Feb 2018 11:50:57 -0500 Subject: [PATCH] ecore: fix event flushing to not erase+leak events stealing the message data here prevents events which aren't being flushed from ever being usable again and is unnecessary since the free callback will be automatically called during the destructor ref 5dd52fd09b7d79c70b3134423a87aa6400a2d994 --- src/lib/ecore/ecore_event_message_handler.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/lib/ecore/ecore_event_message_handler.c b/src/lib/ecore/ecore_event_message_handler.c index 39f5dfe5a8..1b593d0771 100644 --- a/src/lib/ecore/ecore_event_message_handler.c +++ b/src/lib/ecore/ecore_event_message_handler.c @@ -413,18 +413,10 @@ _flush_cb(void *data, void *handler EINA_UNUSED, void *message) { int *type = data; int evtype = -1; - void *evdata = NULL, *free_func = NULL, *free_data = NULL; - Ecore_End_Cb fn_free = NULL; if (!efl_isa(message, ECORE_EVENT_MESSAGE_CLASS)) return EINA_TRUE; - ecore_event_message_data_steal(message, &evtype, &evdata, &free_func, &free_data); - if (*type != evtype) return EINA_TRUE; - if (free_func) - { - fn_free = free_func; - fn_free(free_data, evdata); - } - return EINA_FALSE; + ecore_event_message_data_get(message, &evtype, NULL, NULL, NULL); + return *type != evtype; } EOLIAN static void