Ecore exe: Start using the eo destructor.

This commit is contained in:
Tom Hacohen 2014-08-26 16:36:25 +01:00
parent 1cd3fbbd95
commit 791f1e5f6c
2 changed files with 14 additions and 8 deletions

View File

@ -940,15 +940,24 @@ ecore_exe_tag_get(const Ecore_Exe *obj)
EAPI void *
ecore_exe_free(Ecore_Exe *obj)
{
void *data;
int ok = 0;
int result;
EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
Ecore_Exe_Data *exe = eo_data_scope_get(obj, MY_CLASS);
if (!eo_isa(obj, MY_CLASS))
return NULL;
void *data = exe->data;
eo_del(obj);
return data;
}
EOLIAN static void
_ecore_exe_eo_base_destructor(Eo *obj, Ecore_Exe_Data *exe)
{
void *data;
int ok = 0;
int result;
data = exe->data;
if (exe->pre_free_cb)
@ -990,10 +999,6 @@ ecore_exe_free(Ecore_Exe *obj)
exes = eina_list_remove(exes, obj);
IF_FREE(exe->tag);
eo_del(obj);
return data;
}
EAPI void

View File

@ -20,6 +20,7 @@ class Ecore.Exe (Eo.Base, Efl.Control)
}
implements {
Eo.Base.destructor;
Eo.Base.finalize;
Efl.Control.suspend.set;
}