huchi pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=162ad41656f42b5b795032ae09f162c8522cadf7

commit 162ad41656f42b5b795032ae09f162c8522cadf7
Author: Wonguk Jeong <wonguk.je...@samsung.com>
Date:   Tue Aug 19 16:06:26 2014 +0200

    teamwork: remove multiple delete of livethumb, icon, video
    
    Since icon/video will be drawn into livethumb's image canvas,
    icon/video would be deleted on livethumb's deletion.
    Therefore, don't register icon/video as comp object's del list.(duplicated 
deletion)
    
    "frame_decode" callback shouldn't be invoked multiple time.
---
 AUTHORS                         | 1 +
 src/modules/teamwork/e_mod_tw.c | 4 +---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index afb64ee..d5a6300 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -54,3 +54,4 @@ PrinceAMD (Deon Thomas) <deon.thomas...@gmail.com>
 Dieter Roelants <diete...@bsdusr.net>
 Stefan Schmidt <ste...@datenfreihafen.org>
 Davide Andreoli <d...@gurumeditation.it>
+Wonguk Jeong (huchi) <wonguk.je...@samsung.com>
diff --git a/src/modules/teamwork/e_mod_tw.c b/src/modules/teamwork/e_mod_tw.c
index 0d7d819..942e0a0 100644
--- a/src/modules/teamwork/e_mod_tw.c
+++ b/src/modules/teamwork/e_mod_tw.c
@@ -869,6 +869,7 @@ tw_video_opened_cb(void *data, Evas_Object *obj, void 
*event_info EINA_UNUSED)
    double ratio = tw_config->popup_size / 100.;
    E_Zone *zone;
 
+   evas_object_smart_callback_del_full(obj, "frame_decode", 
tw_video_opened_cb, data);
    if (tw_mod->hidden && (!tw_mod->sticky) && (!tw_mod->force))
      {
         tw_video_closed_cb(data, obj, NULL);
@@ -886,9 +887,7 @@ tw_video_opened_cb(void *data, Evas_Object *obj, void 
*event_info EINA_UNUSED)
    h = (w * ih) / iw;
    e_livethumb_thumb_set(data, obj);
    tw_show_helper(data, w, h);
-   e_comp_object_util_del_list_append(tw_mod->pop, obj);
    evas_object_data_set(tw_mod->pop, "uri", 
eina_stringshare_add(emotion_object_file_get(obj)));
-   evas_object_smart_callback_del_full(obj, "frame_decode", 
tw_video_opened_cb, data);
 }
 
 static void
@@ -1066,7 +1065,6 @@ tw_show(Media *i)
    e_livethumb_thumb_set(prev, ic);
    tw_show_helper(prev, w, h);
    evas_object_data_set(tw_mod->pop, "uri", eina_stringshare_ref(i->addr));
-   e_comp_object_util_del_list_append(tw_mod->pop, ic);
 }
 
 static void

-- 


Reply via email to