discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=92fd6db69f5bf78216a216d1f47be15de0a8ef7c

commit 92fd6db69f5bf78216a216d1f47be15de0a8ef7c
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Thu Nov 19 15:17:19 2015 -0500

    always create compositor mirror objects, ignore pixmap image state
    
    checking pixmap image state in this case resulted in mirrors failing to
    be created in some cases when there was no reason to fail
    
    ref T2846
---
 src/bin/e_comp_object.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 7fb8602..bcbe8c0 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3544,7 +3544,6 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
    Evas_Object *o;
    int w, h;
    unsigned int *pix = NULL;
-   Eina_Bool argb = EINA_FALSE;
 
    SOFT_ENTRY(NULL);
 
@@ -3560,7 +3559,6 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
         return o;
      }
    if ((!cw->ec) || (!e_pixmap_size_get(cw->ec->pixmap, &w, &h))) return NULL;
-   if ((!cw->native) && (!e_pixmap_image_exists(cw->ec->pixmap))) return NULL;
    o = evas_object_image_filled_add(evas_object_evas_get(obj));
    evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
    evas_object_image_smooth_scale_set(o, e_comp_config_get()->smooth_windows);
@@ -3575,10 +3573,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
    evas_object_image_size_set(o, w, h);
 
    if (cw->ec->shaped)
-     {
-        if (!e_pixmap_image_exists(cw->ec->pixmap)) return o;
-        pix = evas_object_image_data_get(cw->obj, 0);
-     }
+     pix = evas_object_image_data_get(cw->obj, 0);
    else
      {
         if (cw->native)
@@ -3589,20 +3584,12 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
              evas_object_image_native_surface_set(o, &ns);
           }
         else
-          {
-             if (!e_pixmap_image_exists(cw->ec->pixmap)) return o;
-             argb = e_pixmap_image_is_argb(cw->ec->pixmap);
-             if (argb)
-               pix = e_pixmap_image_data_get(cw->ec->pixmap);
-             else
-               pix = evas_object_image_data_get(cw->obj, EINA_FALSE);
-          }
+          pix = evas_object_image_data_get(cw->obj, EINA_FALSE);
      }
    if (pix)
      {
         evas_object_image_data_set(o, pix);
-        if (!argb)
-          evas_object_image_data_set(cw->obj, pix);
+        evas_object_image_data_set(cw->obj, pix);
      }
    evas_object_image_data_update_add(o, 0, 0, w, h);
    return o;

-- 


Reply via email to