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
This commit is contained in:
Carsten Haitzler 2022-05-14 23:13:06 +01:00
parent 2590043d15
commit 68417de8ae
2 changed files with 2 additions and 2 deletions

View File

@ -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);

View File

@ -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