This is a complex situation:
- Smart object A contains image I
- A is proxied into an image B
- B is marked as source_invisible, which means A is invisible
- Mask M is applied to image I
- Mask M is ALSO a smart child of A
Because of all that, mask M could not be rendered into its private
mask surface, as it was falling under the case of "parent_src_invisible".
This patch checks that the object is not a mask during the
parent_src_invisible check.
@fix
return obj->parent_cache.src_invisible;
if ((obj->proxy->proxies || obj->proxy->proxy_textures) && obj->proxy->src_invisible) return 1;
if (!obj->smart.parent) return 0;
+ if (obj->mask->is_mask) return 0;
Evas_Object_Protected_Data *smart_parent_pd =
eo_data_scope_get(obj->smart.parent, EVAS_OBJECT_CLASS);
obj->parent_cache.src_invisible =