From 258b42b47be4cda891c2c92a8be13b6cef199063 Mon Sep 17 00:00:00 2001 From: Jiyoun Park Date: Fri, 7 Apr 2017 11:35:55 +0900 Subject: [PATCH] evas_clip: fix bug _clipper_del_cb function unset current clipper old_clipper = evas_object_clip_get(objA); evas_object_clip_unset(obj_A); evas_object_clip_set(obj_A, new_clipper); evas_object_del(old_clipper); when old_clipper deleted, _clipper_del_cb unset the current new_clipper of obj_A. --- src/lib/evas/canvas/evas_clip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c index 6d9f267..3b11044 100644 --- a/src/lib/evas/canvas/evas_clip.c +++ b/src/lib/evas/canvas/evas_clip.c @@ -471,7 +471,8 @@ _clipper_del_cb(void *data, const Efl_Event *event) EVAS_OBJECT_DATA_ALIVE_CHECK(obj); - _clip_unset(eo_obj, obj); + if (EINA_LIKELY(obj->cur->clipper && (obj->cur->clipper == clip))) + _clip_unset(eo_obj, obj); if (obj->prev->clipper && (obj->prev->clipper == clip)) { // not removing cb since it's the del cb... it can't be called again! -- 2.7.4