cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=adff9e013d32df52f78b807a7e2ac5351dad899d
commit adff9e013d32df52f78b807a7e2ac5351dad899d Author: Andrii Kroitor <[email protected]> Date: Wed Sep 24 11:42:26 2014 +0200 evas_events: fixed keyup with modifier Summary: removed check that disallows exact modifiers set. I.e. if we need Ctrl+s without any other modifiers: mask = evas_key_modifier_mask_get(obj, "Control"); evas_object_key_grab(obj, "o", mask, ~mask, false); This works with keydown, but was broken with keyup. Reviewers: cedric, seoz, Hermet, raster Subscribers: cedric, reutskiy.v.v Differential Revision: https://phab.enlightenment.org/D1474 Signed-off-by: Cedric BAIL <[email protected]> Signed-off-by: Carsten Haitzler (Rasterman) <[email protected]> --- src/lib/evas/canvas/evas_events.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index 38f0e8d..f5f7ba7 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -2596,8 +2596,7 @@ _canvas_event_feed_key_up_internal(Eo *eo_e, if (!g->object) continue; if (((e->modifiers.mask & g->modifiers) || (g->modifiers == e->modifiers.mask)) && - (!((e->modifiers.mask & g->not_modifiers) || - (g->not_modifiers == ~e->modifiers.mask))) && + (!(e->modifiers.mask & g->not_modifiers)) && (!strcmp(keyname, g->keyname))) { Evas_Object_Protected_Data *object_obj = eo_data_scope_get(g->object, EVAS_OBJECT_CLASS); --
