{
_elm_init_count--;
if (_elm_init_count > 0) return _elm_init_count;
+ _elm_win_shutdown();
+ while (_elm_win_deferred_free) ecore_main_loop_iterate();
elm_quicklaunch_sub_shutdown();
elm_quicklaunch_shutdown();
return _elm_init_count;
static void _elm_win_focus_highlight_reconfigure(Elm_Win *win);
Eina_List *_elm_win_list = NULL;
+int _elm_win_deferred_free = 0;
static void
_elm_win_move(Ecore_Evas *ee)
_deferred_ecore_evas_free(void *data)
{
ecore_evas_free(data);
+ _elm_win_deferred_free--;
}
static void
// evas_font_cache_flush(win->evas);
// FIXME: we are in the del handler for the object and delete the canvas
// that lives under it from the handler... nasty. deferring doesn't help either
+
ecore_job_add(_deferred_ecore_evas_free, win->ee);
+ _elm_win_deferred_free++;
// ecore_evas_free(win->ee);
_elm_win_focus_highlight_shutdown(win);