discomfitor pushed a commit to branch master.

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

commit b4559055a746ff2500ea52ada18848b09096d81c
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Mar 7 14:40:27 2016 -0500

    reject x11 client mouse-in events on comp object based on frame geometry
    
    mousing over a window for an x11 client should always yield x11 mouse events
    in cases where mouse eventing is required; any events occurring on the comp
    object in other cases inside the xwindow region are able to be ignored
---
 src/bin/e_comp_object.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 1f6b33b..e09895b 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -350,11 +350,17 @@ _e_comp_object_cb_signal_bind(void *data, Evas_Object 
*obj EINA_UNUSED, const ch
 
 /* handle evas mouse-in events on client object */
 static void
-_e_comp_object_cb_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info)
+_e_comp_object_cb_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, 
void *event_info)
 {
    Evas_Event_Mouse_In *ev = event_info;
    E_Comp_Object *cw = data;
 
+   if (e_pixmap_is_x(cw->ec->pixmap))
+     {
+        if (!e_comp_object_frame_allowed(obj)) return;
+        if (E_INSIDE(ev->output.x, ev->output.y, cw->ec->client.x, 
cw->ec->client.y,
+            cw->ec->client.w, cw->ec->client.h)) return;
+     }
    e_client_mouse_in(cw->ec, ev->output.x, ev->output.y);
 }
 

-- 


Reply via email to