always create compositor mirror objects, ignore pixmap image state
authorMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 19 Nov 2015 20:17:19 +0000 (15:17 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 19 Nov 2015 20:17:19 +0000 (15:17 -0500)
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

index 790c70d..b754cb8 100644 (file)
@@ -3767,7 +3767,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);
 
@@ -3783,7 +3782,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);
@@ -3798,10 +3796,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)
@@ -3817,14 +3812,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
                }
           }
         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)
      {
@@ -3841,8 +3829,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
       //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_data_set(o, pix);
-      if (!argb)
-        evas_object_image_data_set(cw->obj, pix);
+      evas_object_image_data_set(cw->obj, pix);
       if (dirty)
         evas_object_image_data_update_add(o, 0, 0, w, h);
    }