forked from enlightenment/efl
Don't use an idler to delete the evas. This wont work during ecore main
loop shutdown. SVN revision: 29365
This commit is contained in:
parent
1c2b692618
commit
44c6d3add9
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue