From 5e6831187a19989ed953e26526a2bf50750314b8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 19 Nov 2015 15:17:19 -0500 Subject: [PATCH] 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 --- src/bin/e_comp_object.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 790c70daa..b754cb863 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -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); }