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.
devs/devilhorns/xwayland
Wonguk Jeong 9 years ago
parent 9251440867
commit 162ad41656
  1. 1
      AUTHORS
  2. 4
      src/modules/teamwork/e_mod_tw.c

@ -54,3 +54,4 @@ PrinceAMD (Deon Thomas) <deon.thomas.gy@gmail.com>
Dieter Roelants <dieter.e@bsdusr.net>
Stefan Schmidt <stefan@datenfreihafen.org>
Davide Andreoli <dave@gurumeditation.it>
Wonguk Jeong (huchi) <wonguk.jeong@samsung.com>

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

Loading…
Cancel
Save