From a1600a137f57c70ee77c1fefe285529b88a2acda Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 14 May 2022 23:13:06 +0100 Subject: [PATCH] client evas objects - fix - dont use precise for shaped input shaped input doesnt affect or make custom copies of pixel data, thus precise inside can't work (it can only work if the pixel data is local - thus textur efrom pixmap is not going to produce valid data thus... you get the drift). this fixes some odd focus/event things with some windows that use shaped input only @fix --- src/bin/e_comp_object.c | 2 +- src/bin/e_deskmirror.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index d960e4a80..3c0597d5d 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -972,7 +972,7 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj) } if (e_object_is_del(E_OBJECT(ec))) return; /* shaped clients get precise mouse events to handle transparent pixels */ - evas_object_precise_is_inside_set(cw->obj, ec->shaped || ec->shaped_input); + evas_object_precise_is_inside_set(cw->obj, ec->shaped); //INF("%p PX(%dx%d) EC(%dx%d) CW(%dx%d)", ec, pw, ph, ec->w, ec->h, cw->w, cw->h); //e_comp_object_frame_wh_adjust(cw->smart_obj, pw, ph, &pw, &ph); diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c index 62d6db959..66afa43bd 100644 --- a/src/bin/e_deskmirror.c +++ b/src/bin/e_deskmirror.c @@ -593,7 +593,7 @@ _e_deskmirror_mirror_setup(Mirror *m) evas_object_pass_events_set(m->mirror, !m->ec); } if (m->ec) evas_object_data_set(m->mirror, "E_Client", m->ec); - evas_object_precise_is_inside_set(m->mirror, m->ec && (m->ec->shaped || m->ec->shaped_input)); + evas_object_precise_is_inside_set(m->mirror, m->ec && (m->ec->shaped)); e_layout_pack(m->sd->layout, m->mirror); _e_deskmirror_mirror_reconfigure(m); if (m->sd->handlers) // no handlers = we're setting up = there's no possible listeners