From f65154566509201a85b96befda47fbab89634c03 Mon Sep 17 00:00:00 2001 From: Chidambar Zinnoury Date: Mon, 20 Oct 2008 07:40:14 +0000 Subject: [PATCH] One less segfault! Deleting gadcon was calling many other things, and ended up recreating hide_animator, so delete it before timers and animators are deleted. SVN revision: 36838 --- src/bin/e_shelf.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index e84c80ac3..4bcf02042 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -697,6 +697,13 @@ static void _e_shelf_free(E_Shelf *es) { E_FREE_LIST(es->handlers, ecore_event_handler_del); + + e_object_del(E_OBJECT(es->gadcon)); + if (es->hide_timer) + { + ecore_timer_del(es->hide_timer); + es->hide_timer = NULL; + } if (es->hide_animator) { ecore_animator_del(es->hide_animator); @@ -716,7 +723,6 @@ _e_shelf_free(E_Shelf *es) } if (es->config_dialog) e_object_del(E_OBJECT(es->config_dialog)); shelves = evas_list_remove(shelves, es); - e_object_del(E_OBJECT(es->gadcon)); eina_stringshare_del(es->name); eina_stringshare_del(es->style); evas_object_del(es->o_event);