From a346c622b638b80e78dd5321d2668acd4095b4e2 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 7 Mar 2016 14:40:27 -0500 Subject: [PATCH] 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 ff356baee..43d4ed774 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); }