From ef79bfe671e1d27aa8ba99d387772f3024d437d7 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 18 Jul 2012 07:18:45 +0000 Subject: [PATCH] terminology: correctly detect death of window. SVN revision: 74045 --- src/bin/main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/main.c b/src/bin/main.c index 5187a8c2..771e4f3a 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -17,6 +17,13 @@ static Evas_Object *popmedia = NULL; static Evas_Object *conform = NULL; static Ecore_Timer *flush_timer = NULL; static Eina_Bool focused = EINA_FALSE; +static Eina_Bool win_deleted = EINA_FALSE; + +static void +_cb_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) +{ + win_deleted = EINA_TRUE; +} static void _cb_focus_in(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__) @@ -426,6 +433,7 @@ elm_main(int argc, char **argv) win = tg_win_add(name, role, title, icon_name); + evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cb_del, NULL); elm_win_conformant_set(win, EINA_TRUE); if (fullscreen) elm_win_fullscreen_set(win, EINA_TRUE); @@ -497,7 +505,7 @@ elm_main(int argc, char **argv) config_del(config); config_shutdown(); - evas_object_del(win); + if (!win_deleted) evas_object_del(win); eina_log_domain_unregister(_log_domain); _log_domain = -1;