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
This commit is contained in:
Chidambar Zinnoury 2008-10-20 07:40:14 +00:00
parent 534bac9233
commit f651545665
1 changed files with 7 additions and 1 deletions

View File

@ -697,6 +697,13 @@ static void
_e_shelf_free(E_Shelf *es) _e_shelf_free(E_Shelf *es)
{ {
E_FREE_LIST(es->handlers, ecore_event_handler_del); 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) if (es->hide_animator)
{ {
ecore_animator_del(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)); if (es->config_dialog) e_object_del(E_OBJECT(es->config_dialog));
shelves = evas_list_remove(shelves, es); shelves = evas_list_remove(shelves, es);
e_object_del(E_OBJECT(es->gadcon));
eina_stringshare_del(es->name); eina_stringshare_del(es->name);
eina_stringshare_del(es->style); eina_stringshare_del(es->style);
evas_object_del(es->o_event); evas_object_del(es->o_event);