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

-- 


Reply via email to