From 8b698680df6bbe34c42a55d307f2911d327e7b3a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 14 Dec 2012 11:29:50 +0000 Subject: [PATCH] reorder efm dnd finished cb to prevent crash when accessing possibly deleted icon SVN revision: 80933 --- src/bin/e_fm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 0be4e2166..8a29ac055 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -7093,9 +7093,12 @@ _e_fm2_cb_drag_finished(E_Drag *drag, int dropped __UNUSED__) ic->drag.dnd = EINA_FALSE; if (ic->sd->dnd_scroller) ecore_animator_del(ic->sd->dnd_scroller); ic->sd->dnd_scroller = NULL; - evas_object_smart_callback_call(ic->sd->obj, "dnd_end", &ic->info); if (ic->drag.dnd_end_timer) ecore_timer_reset(ic->drag.dnd_end_timer); else ic->drag.dnd_end_timer = ecore_timer_add(0.2, (Ecore_Task_Cb)_e_fm2_cb_drag_finished_show, ic); + /* NOTE: + * do not touch ic after this callback; it's possible that it may have been deleted + */ + evas_object_smart_callback_call(ic->sd->obj, "dnd_end", &ic->info); } } }