discomfitor pushed a commit to branch enlightenment-0.22. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b88d080742976031a24f3c30b3473668ec5099fd
commit b88d080742976031a24f3c30b3473668ec5099fd Author: Derek Foreman <der...@osg.samsung.com> Date: Wed Mar 21 14:16:44 2018 -0500 Move alpha set for mirrors out of pixels_get callback the pixels_get callback fires too late for this to work properly, so set it in e_comp_object_dirty() instead. --- src/bin/e_comp_object.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index dce688289..0909b6d4e 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -948,7 +948,6 @@ _e_comp_object_mirror_pixels_get(void *data, Evas_Object *obj) if (cw->native) return; evas_object_image_data_set(obj, e_pixmap_image_data_get(cw->ec->pixmap)); - evas_object_image_alpha_set(obj, evas_object_image_alpha_get(cw->obj)); } ///////////////////////////////////////////// @@ -4077,7 +4076,7 @@ e_comp_object_dirty(Evas_Object *obj) Eina_List *ll; Evas_Object *o; int w, h; - Eina_Bool dirty, visible; + Eina_Bool dirty, visible, alpha; API_ENTRY; /* only actually dirty if pixmap is available */ @@ -4092,11 +4091,14 @@ e_comp_object_dirty(Evas_Object *obj) RENDER_DEBUG("SIZE [%p]: %dx%d", cw->ec, w, h); if (cw->pending_updates) eina_tiler_area_size_set(cw->pending_updates, w, h); + + alpha = evas_object_image_alpha_get(cw->obj); EINA_LIST_FOREACH(cw->obj_mirror, ll, o) { //evas_object_image_border_set(o, bx, by, bxx, byy); //evas_object_image_border_center_fill_set(o, EVAS_BORDER_FILL_SOLID); evas_object_image_pixels_dirty_set(o, dirty); + evas_object_image_alpha_set(obj, alpha); if (!dirty) evas_object_image_data_set(o, NULL); evas_object_image_size_set(o, w, h); --