discomfitor pushed a commit to branch master.

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

commit 42bc9b0befe9df8761f228c23e1bb6162bea4a7b
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 | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index fdec165..20fa998 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -401,7 +401,11 @@ _e_client_action_finish(void)
    E_FREE_FUNC(action_handler_key,  ecore_event_handler_del);
    E_FREE_FUNC(action_handler_mouse, ecore_event_handler_del);
    if (action_client)
-     action_client->keyboard_resizing = 0;
+     {
+        action_client->keyboard_resizing = 0;
+        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;
 }
 
@@ -736,8 +740,14 @@ _e_client_action_init(E_Client *ec)
    action_orig.h = ec->h;
 
    if (action_client)
-     action_client->keyboard_resizing = 0;
+     {
+        action_client->keyboard_resizing = 0;
+        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