jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=48851138d7a88600638b0fe9be7d04ce7095c4a9

commit 48851138d7a88600638b0fe9be7d04ce7095c4a9
Author: Yeongjong Lee <yj34....@samsung.com>
Date:   Mon Sep 2 20:55:51 2019 +0900

    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
---
 src/lib/evas/canvas/efl_canvas_animation_player.c | 6 ++++++
 1 file changed, 6 insertions(+)

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;

-- 


Reply via email to