jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=326dc3850b8bf20348464e07a46b228314c3dc93

commit 326dc3850b8bf20348464e07a46b228314c3dc93
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Wed Jul 15 16:41:59 2015 +0900

    Evas masking: Fix rendering of masks that belong to a proxied smart object
    
    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
---
 src/lib/evas/include/evas_inline.x | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/include/evas_inline.x 
b/src/lib/evas/include/evas_inline.x
index 83fa4b4..4614737 100644
--- a/src/lib/evas/include/evas_inline.x
+++ b/src/lib/evas/include/evas_inline.x
@@ -118,6 +118,7 @@ evas_object_is_source_invisible(Evas_Object *eo_obj 
EINA_UNUSED, Evas_Object_Pro
      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 =

-- 


Reply via email to