summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiyoun Park <jy0703.park@samsung.com>2017-04-07 11:35:55 +0900
committerJiyoun Park <jy0703.park@samsung.com>2017-04-07 11:35:55 +0900
commit258b42b47be4cda891c2c92a8be13b6cef199063 (patch)
treecf6c2cfe52a65593aef0fa7a42b82509327b64c3
parentb5761fc227815d784f959deb232e30ba1175b06d (diff)
downloadefl-258b42b47be4cda891c2c92a8be13b6cef199063.tar.gz
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.
-rw-r--r--src/lib/evas/canvas/evas_clip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 6d9f267577..3b11044845 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!