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
This commit is contained in:
Mike Blumenkrantz 2015-11-19 15:17:19 -05:00
parent 9bfd684e43
commit 5e6831187a
1 changed files with 3 additions and 16 deletions

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