terminology: don't crash on ctrl-c.

SVN revision: 82034
This commit is contained in:
Cedric BAIL 2013-01-03 05:19:54 +00:00
parent 7f5107b96d
commit 9636a15f22
1 changed files with 9 additions and 4 deletions

View File

@ -68,7 +68,6 @@ _cb_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event
{ {
Win *wn = data; Win *wn = data;
wins = eina_list_remove(wins, wn);
// already obj here is deleted - dont do it again // already obj here is deleted - dont do it again
wn->win = NULL; wn->win = NULL;
main_win_free(wn); main_win_free(wn);
@ -574,12 +573,17 @@ static void
main_win_free(Win *wn) main_win_free(Win *wn)
{ {
Term *term; Term *term;
wins = eina_list_remove(wins, wn);
EINA_LIST_FREE(wn->terms, term) EINA_LIST_FREE(wn->terms, term)
{ {
main_term_free(term); main_term_free(term);
} }
if (wn->win) evas_object_del(wn->win); if (wn->win)
{
evas_object_event_callback_del_full(wn->win, EVAS_CALLBACK_DEL, _cb_del, wn);
evas_object_del(wn->win);
}
if (wn->config) config_del(wn->config); if (wn->config) config_del(wn->config);
free(wn); free(wn);
} }
@ -1309,8 +1313,9 @@ remote:
ipc_shutdown(); ipc_shutdown();
EINA_LIST_FREE(wins, wn) while (wins)
{ {
wn = eina_list_data_get(wins);
main_win_free(wn); main_win_free(wn);
} }