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 --