summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinkyoung Kim <sleepigmk@gmail.com>2017-04-11 13:47:55 +0900
committerChris Michael <cp.michael@samsung.com>2017-04-11 11:51:50 -0400
commit185013e11333ce409266fbb84976e840af239e2b (patch)
tree399f3a9708bd70fc8cbd74d46d783460df9c3c36
parent2fc504ea518dbbca51dfa5d12ff1b234c226e63b (diff)
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.andre@samsung.com>
-rw-r--r--src/lib/evas/canvas/evas_object_main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index adae7d5e74..dcfecfce54 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
311 cb = (cb * (nb + 1)) >> 8; 311 cb = (cb * (nb + 1)) >> 8;
312 ca = (ca * (na + 1)) >> 8; 312 ca = (ca * (na + 1)) >> 8;
313 } 313 }
314 else obj->clip.mask = NULL;
315 if (!EVAS_OBJECT_DATA_VALID(obj->clip.mask))
316 obj->clip.mask = NULL;
314 317
315 if (((ca == 0) && (obj->cur->render_op == EVAS_RENDER_BLEND)) || 318 if (((ca == 0) && (obj->cur->render_op == EVAS_RENDER_BLEND)) ||
316 (cw <= 0) || (ch <= 0)) 319 (cw <= 0) || (ch <= 0))