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
9bfd684e43
commit
5e6831187a
|
@ -3767,7 +3767,6 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
int w, h;
|
int w, h;
|
||||||
unsigned int *pix = NULL;
|
unsigned int *pix = NULL;
|
||||||
Eina_Bool argb = EINA_FALSE;
|
|
||||||
|
|
||||||
SOFT_ENTRY(NULL);
|
SOFT_ENTRY(NULL);
|
||||||
|
|
||||||
|
@ -3783,7 +3782,6 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
if ((!cw->ec) || (!e_pixmap_size_get(cw->ec->pixmap, &w, &h))) return NULL;
|
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));
|
o = evas_object_image_filled_add(evas_object_evas_get(obj));
|
||||||
evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
|
evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
|
||||||
evas_object_image_smooth_scale_set(o, e_comp_config_get()->smooth_windows);
|
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);
|
evas_object_image_size_set(o, w, h);
|
||||||
|
|
||||||
if (cw->ec->shaped)
|
if (cw->ec->shaped)
|
||||||
{
|
pix = evas_object_image_data_get(cw->obj, 0);
|
||||||
if (!e_pixmap_image_exists(cw->ec->pixmap)) return o;
|
|
||||||
pix = evas_object_image_data_get(cw->obj, 0);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (cw->native)
|
if (cw->native)
|
||||||
|
@ -3817,14 +3812,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
pix = evas_object_image_data_get(cw->obj, EINA_FALSE);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (pix)
|
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_set(o, bx, by, bxx, byy);
|
||||||
//evas_object_image_border_center_fill_set(o, EVAS_BORDER_FILL_SOLID);
|
//evas_object_image_border_center_fill_set(o, EVAS_BORDER_FILL_SOLID);
|
||||||
evas_object_image_data_set(o, pix);
|
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)
|
if (dirty)
|
||||||
evas_object_image_data_update_add(o, 0, 0, w, h);
|
evas_object_image_data_update_add(o, 0, 0, w, h);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue