don't directly use image data when creating a comp object mirror

in the case where pixmap image data does not yet exist, the returned
pointer will be garbage data from the internal buffer
This commit is contained in:
Mike Blumenkrantz 2016-03-04 13:06:41 -05:00
parent 1a93efc3ae
commit ed7a0246f9
1 changed files with 7 additions and 3 deletions

View File

@ -3857,7 +3857,10 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
evas_object_image_size_set(o, w, h);
if (cw->ec->shaped)
pix = evas_object_image_data_get(cw->obj, 0);
{
if (e_pixmap_image_data_get(cw->ec->pixmap))
pix = evas_object_image_data_get(cw->obj, 0);
}
else
{
if (cw->native)
@ -3873,7 +3876,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
}
}
else
pix = evas_object_image_data_get(cw->obj, EINA_FALSE);
pix = e_pixmap_image_data_get(cw->ec->pixmap);
}
if (pix)
{
@ -3890,7 +3893,8 @@ 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);
evas_object_image_data_set(cw->obj, pix);
if (cw->ec->shaped)
evas_object_image_data_set(cw->obj, pix);
if (dirty)
evas_object_image_data_update_add(o, 0, 0, w, h);
}