forked from enlightenment/efl
Evas: Fix propagation of key events
UP/DOWN arrows were having effects on both focus and entry cursor moves. This was due to an invalid propagation of the changes to event_flags (on_hold). Fixes T3845
This commit is contained in:
parent
2471d962ed
commit
05732c7472
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue