discomfitor pushed a commit to branch master.

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

commit 49e2a31cfc33802ef18d4f9820e6705e25cbbd39
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Sep 14 15:02:40 2017 -0400

    block recursive mouse eventing in bryce action handlers
    
    ensure that only the outermost event adds a post callback to avoid
    triggering actions multiple times
---
 src/bin/e_bryce.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index a1eaeef7f..4e7f76a7f 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -609,6 +609,7 @@ _bryce_mouse_down(void *data, Evas *e, Evas_Object *obj 
EINA_UNUSED, void *event
 {
    Bryce *b = data;
 
+   if (b->event_info == event_info) return;
    b->event_info = event_info;
    evas_post_event_callback_push(e, _bryce_mouse_down_post, b);
 }
@@ -630,6 +631,7 @@ _bryce_mouse_up(void *data, Evas *e, Evas_Object *obj 
EINA_UNUSED, void *event_i
 {
    Bryce *b = data;
 
+   if (b->event_info == event_info) return;
    b->event_info = event_info;
    evas_post_event_callback_push(e, _bryce_mouse_up_post, b);
 }
@@ -651,6 +653,7 @@ _bryce_mouse_wheel(void *data, Evas *e, Evas_Object *obj 
EINA_UNUSED, void *even
 {
    Bryce *b = data;
 
+   if (b->event_info == event_info) return;
    b->event_info = event_info;
    evas_post_event_callback_push(e, _bryce_mouse_wheel_post, b);
 }

-- 


Reply via email to