jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=60a97c9be30ce429c9609f631c0b24d748c9b3d7

commit 60a97c9be30ce429c9609f631c0b24d748c9b3d7
Author: Minkyoung Kim <sleepi...@gmail.com>
Date:   Tue Apr 11 13:47:55 2017 +0900

    evas: If there isn't clipper when recalcing clip, set mask.clip = NULL.
    
    Summary:
    There's problem in Tizen3.0.
    
    1. Clip set mask_obj to obj for masking.
    2. Unset mask_obj from obj, and del mask_obj.
    3. obj has clip.mask still. So obj is trying to do mask_subrender() for 
freeed mask_obj.
    
    So reset clip.mask to NULL, If there isn't clipper.
    
    Now, there's no routine for reseting clip.mask when clipper object is 
freed. isn't it?
    Actually I'm not sure that clip.mask=NULL should be there as this patch.
    
    Test Plan: Tizen3.0 wearable
    
    Reviewers: cedric, raster, wonsik, jpeg
    
    Subscribers: scholb.kim, dkdk
    
    Differential Revision: https://phab.enlightenment.org/D4721
    
    Signed-off-by: Jean-Philippe Andre <jp.an...@samsung.com>
---
 src/lib/evas/canvas/evas_object_main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index adae7d5..dcfecfc 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -311,6 +311,9 @@ evas_object_clip_recalc_do(Evas_Object_Protected_Data *obj, 
Evas_Object_Protecte
         cb = (cb * (nb + 1)) >> 8;
         ca = (ca * (na + 1)) >> 8;
      }
+   else obj->clip.mask = NULL;
+   if (!EVAS_OBJECT_DATA_VALID(obj->clip.mask))
+     obj->clip.mask = NULL;
 
    if (((ca == 0) && (obj->cur->render_op == EVAS_RENDER_BLEND)) ||
        (cw <= 0) || (ch <= 0))

-- 


Reply via email to