diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c index 5bb69aad0c..da5219ae13 100644 --- a/src/lib/evas/canvas/evas_callbacks.c +++ b/src/lib/evas/canvas/evas_callbacks.c @@ -275,6 +275,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data } #undef EV_CASE + if (pevflags) efl_event_flags_set(eo_event_info, *pevflags); eo_event_callback_call(eo_obj, eo_event_desc, eo_event_info); if (pevflags) *pevflags = efl_event_flags_get(eo_event_info); } diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index 80f75497c4..c55006d63e 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -2716,6 +2716,7 @@ _canvas_event_feed_key_down_internal(Eo *eo_e, } } } + if (!ke) EV_DEL(eo_event_info); if ((e->focused) && (!exclusive)) { Evas_Object_Protected_Data *focused_obj = eo_data_scope_get(e->focused, EVAS_OBJECT_CLASS); @@ -2736,6 +2737,8 @@ _canvas_event_feed_key_down_internal(Eo *eo_e, ke->modifiers = NULL; ke->locks = NULL; } + else + EV_DEL(eo_event_info); } static void