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:
parent
ee2cbf1c91
commit
3647c07cc5
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue