diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 36babe3f8e..8ba756d68c 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -2601,6 +2601,8 @@ evas_object_image_was_opaque(Evas_Object *eo_obj EINA_UNUSED, return o->prev->opaque; /* FIXME: Should go poke at the object */ if (o->prev->has_alpha) return o->prev->opaque; + if (o->has_filter) + return o->cur->opaque; EINA_COW_WRITE_BEGIN(evas_object_image_state_cow, o->prev, Evas_Object_Image_State, state_write) { diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c index d394546351..d38379e0c5 100644 --- a/src/lib/evas/canvas/evas_object_rectangle.c +++ b/src/lib/evas/canvas/evas_object_rectangle.c @@ -376,7 +376,7 @@ evas_object_rectangle_was_opaque(Evas_Object *eo_obj EINA_UNUSED, return 1; if (obj->prev->render_op != EVAS_RENDER_BLEND) return 0; - return 1; + return (obj->prev->cache.clip.a == 255) ? 1 : 0; } static unsigned int evas_object_rectangle_id_get(Evas_Object *eo_obj)