From 719b2baeba8133a021663e8281e6fd53662e8b16 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 29 Apr 2015 17:15:43 -0400 Subject: [PATCH] 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 48d95cfba..cc3544114 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2771,6 +2771,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 || e_client_util_ignored_get(ec)) return; if ((button >= 1) && (button <= 3)) @@ -2798,6 +2800,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; @@ -2805,7 +2808,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;