From 44c6d3add9c4a0fa76b6a7474d62e240fba505ce Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Thu, 5 Apr 2007 06:53:41 +0000 Subject: [PATCH] Don't use an idler to delete the evas. This wont work during ecore main loop shutdown. SVN revision: 29365 --- legacy/ecore/src/lib/ecore_evas/ecore_evas.c | 21 +------------------ .../src/lib/ecore_evas/ecore_evas_private.h | 2 -- .../ecore/src/lib/ecore_evas/ecore_evas_x.c | 3 --- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas.c index 47508b9355..ea5ef96d7c 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas.c @@ -6,8 +6,6 @@ static int _ecore_evas_init_count = 0; -static int _ecore_evas_idle_enter_delete(void *data); - /** * Query if a particular renginering engine target has support * @param engine The engine to check support for @@ -139,9 +137,7 @@ ecore_evas_free(Ecore_Evas *ee) "ecore_evas_free"); return; } - if (ee->delete_idle_enterer) return; - ee->delete_idle_enterer = - ecore_idle_enterer_add(_ecore_evas_idle_enter_delete, ee); + _ecore_evas_free(ee); return; } @@ -1764,11 +1760,6 @@ void _ecore_evas_free(Ecore_Evas *ee) { ECORE_MAGIC_SET(ee, ECORE_MAGIC_NONE); - if (ee->delete_idle_enterer) - { - ecore_idle_enterer_del(ee->delete_idle_enterer); - ee->delete_idle_enterer = NULL; - } while (ee->sub_ecore_evas) { _ecore_evas_free(ee->sub_ecore_evas->data); @@ -1793,13 +1784,3 @@ _ecore_evas_free(Ecore_Evas *ee) if (ee->engine.func->fn_free) ee->engine.func->fn_free(ee); free(ee); } - -static int -_ecore_evas_idle_enter_delete(void *data) -{ - Ecore_Evas *ee; - - ee = (Ecore_Evas *)data; - _ecore_evas_free(ee); - return 0; -} diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h b/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h index be8c52d212..6f052ed60c 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h @@ -164,8 +164,6 @@ struct _Ecore_Evas char should_be_visible : 1; char alpha : 1; - Ecore_Idle_Enterer *delete_idle_enterer; - Evas_Hash *data; struct { diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c index 37a6095dfe..f76c9c9669 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c @@ -110,14 +110,12 @@ _ecore_evas_x_render(Ecore_Evas *ee) Evas_List *ll; #endif - if (ee->delete_idle_enterer) return; #ifdef BUILD_ECORE_EVAS_BUFFER for (ll = ee->sub_ecore_evas; ll; ll = ll->next) { Ecore_Evas *ee2; ee2 = ll->data; - if (ee2->delete_idle_enterer) continue; if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); _ecore_evas_buffer_render(ee2); if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); @@ -360,7 +358,6 @@ _ecore_evas_x_match(Ecore_X_Window win) Ecore_Evas *ee; ee = evas_hash_find(ecore_evases_hash, _ecore_evas_x_winid_str_get(win)); - if ((ee) && (ee->delete_idle_enterer)) return NULL; return ee; }