discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 7a028f37f3de96c08adab231f1ea8ae83207ae2d
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Apr 29 17:15:43 2015 -0400

    only apply mouse down focus events if a binding did not run on the same 
event
    
    fixes the case of enabling "raise on click" and also having a mouse binding
    for "lower on click" active
    
    fix T2364
---
 src/bin/e_client.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 898a60c..bc22b0b 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2808,6 +2808,8 @@ e_client_mouse_wheel(E_Client *ec, Evas_Point *output, 
E_Binding_Event_Wheel *ev
 EAPI void
 e_client_mouse_down(E_Client *ec, int button, Evas_Point *output, 
E_Binding_Event_Mouse_Button *ev)
 {
+   Eina_Bool did_act = EINA_FALSE;
+
    EINA_SAFETY_ON_NULL_RETURN(ec);
    if (action_client || ec->iconic) return;
    if ((button >= 1) && (button <= 3))
@@ -2835,6 +2837,7 @@ e_client_mouse_down(E_Client *ec, int button, Evas_Point 
*output, E_Binding_Even
                                              E_OBJECT(ec), ev);
         if (ec->cur_mouse_action)
           {
+             did_act = EINA_TRUE;
              if ((!ec->cur_mouse_action->func.end_mouse) &&
                  (!ec->cur_mouse_action->func.end))
                ec->cur_mouse_action = NULL;
@@ -2842,7 +2845,8 @@ e_client_mouse_down(E_Client *ec, int button, Evas_Point 
*output, E_Binding_Even
                e_object_ref(E_OBJECT(ec->cur_mouse_action));
           }
      }
-   e_focus_event_mouse_down(ec);
+   if (!did_act)
+     e_focus_event_mouse_down(ec);
    if ((button >= 1) && (button <= 3))
      {
         ec->mouse.last_down[button - 1].mx = output->x;

-- 


Reply via email to