This should fix T3309
Snapshot objects are image objects, so the function is_opaque
exists. No need to bypass it. Also, alpha rectangles are not
opaque. Assume that anything with a filter is not opaque.
All of this fixes T3309 but the main point was on snapshot
objects (probably because the only point of a snapshot is
to apply a filter on it).
return o->cur->opaque;
if (!o->engine_data)
return o->cur->opaque;
+ if (o->has_filter)
+ return o->cur->opaque;
// FIXME: use proxy
if (o->cur->source)
return 1;
if (obj->cur->render_op != EVAS_RENDER_BLEND)
return 0;
- return 1;
+ return (obj->cur->cache.clip.a == 255) ? 1 : 0;
}
static int
if ((obj->cur->clipper && obj->cur->clipper->mask->is_mask) ||
(obj->clip.mask))
return 0;
- /* Non masked snapshot are supposed to be opaque */
- if (obj->cur->snapshot)
- return 1;
if (obj->func->is_opaque)
return obj->func->is_opaque(eo_obj, obj, obj->private_data);
return 1;