diff options
author | Yeongjong Lee <yj34.lee@samsung.com> | 2019-09-02 20:55:51 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2019-09-02 20:55:51 +0900 |
commit | 48851138d7a88600638b0fe9be7d04ce7095c4a9 (patch) | |
tree | 1e3b96a26f165c29d33c9e66ebb59adfcfc84010 | |
parent | 78bcc24ecae14f99081100857d82e7b370876821 (diff) | |
download | efl-48851138d7a88600638b0fe9be7d04ce7095c4a9.tar.gz |
efl_canvas_animation_player: delete previous target event callback
Summary:
When target is changed, its event callback related `animation_player` should be
deleted.
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9814
-rw-r--r-- | src/lib/evas/canvas/efl_canvas_animation_player.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c b/src/lib/evas/canvas/efl_canvas_animation_player.c index 8466067a12..aa89c367ff 100644 --- a/src/lib/evas/canvas/efl_canvas_animation_player.c +++ b/src/lib/evas/canvas/efl_canvas_animation_player.c @@ -12,6 +12,12 @@ _efl_canvas_animation_player_target_set(Eo *eo_obj EINA_UNUSED, Efl_Canvas_Animation_Player_Data *pd, Efl_Canvas_Object *target) { + if (pd->target == target) + return; + + if (pd->target) + efl_event_callback_del(pd->target, EFL_EVENT_DEL, _target_del_cb, pd); + efl_event_callback_add(target, EFL_EVENT_DEL, _target_del_cb, pd); pd->target = target; |