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);

-- 


Reply via email to