From 162ad41656f42b5b795032ae09f162c8522cadf7 Mon Sep 17 00:00:00 2001 From: Wonguk Jeong Date: Tue, 19 Aug 2014 16:06:26 +0200 Subject: [PATCH] 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 afb64ee46..d5a6300eb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -54,3 +54,4 @@ PrinceAMD (Deon Thomas) Dieter Roelants Stefan Schmidt Davide Andreoli +Wonguk Jeong (huchi) diff --git a/src/modules/teamwork/e_mod_tw.c b/src/modules/teamwork/e_mod_tw.c index 0d7d8190d..942e0a0f7 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