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 c97b52b02c
commit 440d9ceb81
1 changed files with 7 additions and 3 deletions

View File

@ -3824,7 +3824,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)
@ -3840,7 +3843,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)
{
@ -3857,7 +3860,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);
}