discomfitor pushed a commit to branch enlightenment-0.19.

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

commit af230fc7f63ad82b9c3ec3165c0f3773e3a6a54e
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Jul 28 16:46:00 2015 -0400

    disable ecore-evas events on client windows during actions
    
    this is a not-great way of hacking around various issues related to
    the efl mouse button cancel patches that went in for the 1.15 cycle
    which changed the entire mouse input workings of the toolkit.
    
    to avoid further issues, the compositor will explicitly block eventing
    on all internal canvases during actions
---
 src/bin/e_client.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 3eb94b8..28f285a 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -403,6 +403,11 @@ _e_client_action_finish(void)
    E_FREE_FUNC(action_timer, ecore_timer_del);
    E_FREE_FUNC(action_handler_key,  ecore_event_handler_del);
    E_FREE_FUNC(action_handler_mouse, ecore_event_handler_del);
+   if (action_client)
+     {
+        if (action_client->internal_elm_win)
+          
ecore_event_window_ignore_events(elm_win_window_id_get(action_client->internal_elm_win),
 0);
+     }
    action_client = NULL;
 }
 
@@ -731,7 +736,14 @@ _e_client_action_init(E_Client *ec)
    action_orig.w = ec->w;
    action_orig.h = ec->h;
 
+   if (action_client)
+     {
+        if (action_client->internal_elm_win)
+          
ecore_event_window_ignore_events(elm_win_window_id_get(action_client->internal_elm_win),
 0);
+     }
    action_client = ec;
+   if (ec->internal_elm_win)
+     
ecore_event_window_ignore_events(elm_win_window_id_get(ec->internal_elm_win), 
1);
 }
 
 static void

-- 


Reply via email to