discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=c637c70f1c50967b575ebd52fd378614d29accc3

commit c637c70f1c50967b575ebd52fd378614d29accc3
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Jan 25 12:27:54 2016 -0500

    add extra param to e_bindings_key_down_event_find() to return found binding
    
    this should match the corresponding mouse binding function
---
 src/bin/e_bindings.c          | 4 +++-
 src/bin/e_bindings.h          | 2 +-
 src/modules/syscon/e_syscon.c | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c
index 1360529..aef0701 100644
--- a/src/bin/e_bindings.c
+++ b/src/bin/e_bindings.c
@@ -709,7 +709,7 @@ e_bindings_key_up_event_handle(E_Binding_Context ctxt, 
E_Object *obj, Ecore_Even
 }
 
 E_API E_Action *
-e_bindings_key_down_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev)
+e_bindings_key_down_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev, 
E_Binding_Key **bind_ret)
 {
    E_Binding_Modifier mod = 0;
    E_Binding_Key *binding;
@@ -726,6 +726,8 @@ e_bindings_key_down_event_find(E_Binding_Context ctxt, 
Ecore_Event_Key *ev)
                   E_Action *act;
 
                   act = e_action_find(binding->action);
+                  if (!act) continue;
+                  if (bind_ret) *bind_ret = binding;
                   return act;
                }
           }
diff --git a/src/bin/e_bindings.h b/src/bin/e_bindings.h
index a06f3ef..adf674f 100644
--- a/src/bin/e_bindings.h
+++ b/src/bin/e_bindings.h
@@ -161,7 +161,7 @@ E_API void        e_bindings_key_grab(E_Binding_Context 
ctxt, Ecore_X_Window win
 E_API void        e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window 
win);
 E_API E_Action   *e_bindings_key_down_event_handle(E_Binding_Context ctxt, 
E_Object *obj, Ecore_Event_Key *ev);
 E_API E_Action   *e_bindings_key_up_event_handle(E_Binding_Context ctxt, 
E_Object *obj, Ecore_Event_Key *ev);
-E_API E_Action   *e_bindings_key_down_event_find(E_Binding_Context ctxt, 
Ecore_Event_Key *ev);
+E_API E_Action   *e_bindings_key_down_event_find(E_Binding_Context ctxt, 
Ecore_Event_Key *ev, E_Binding_Key **bind_ret);
 E_API E_Action   *e_bindings_key_up_event_find(E_Binding_Context ctxt, 
Ecore_Event_Key *ev);
 
 E_API Eina_Bool   e_bindings_key_allowed(const char *key);
diff --git a/src/modules/syscon/e_syscon.c b/src/modules/syscon/e_syscon.c
index 9749b3d..be38d9d 100644
--- a/src/modules/syscon/e_syscon.c
+++ b/src/modules/syscon/e_syscon.c
@@ -390,7 +390,7 @@ _cb_key_down(EINA_UNUSED void *data, Ecore_Event_Key *ev)
         t = ecore_loop_time_get();
         if (t - show_time > 0.5)
           {
-             act = e_bindings_key_down_event_find(E_BINDING_CONTEXT_ANY, ev);
+             act = e_bindings_key_down_event_find(E_BINDING_CONTEXT_ANY, ev, 
NULL);
              if ((act) && (act->name))
                {
                   if (!strcmp(act->name, "syscon"))

-- 


Reply via email to