tasn pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=791f1e5f6cde2952c86379ab0e7e52fd1b3624a4
commit 791f1e5f6cde2952c86379ab0e7e52fd1b3624a4 Author: Tom Hacohen <[email protected]> Date: Tue Aug 26 16:36:25 2014 +0100 Ecore exe: Start using the eo destructor. --- src/lib/ecore/ecore_exe.c | 21 +++++++++++++-------- src/lib/ecore/ecore_exe.eo | 1 + 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c index 40e35d3..d315999 100644 --- a/src/lib/ecore/ecore_exe.c +++ b/src/lib/ecore/ecore_exe.c @@ -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 diff --git a/src/lib/ecore/ecore_exe.eo b/src/lib/ecore/ecore_exe.eo index 59aabb7..dcb624c 100644 --- a/src/lib/ecore/ecore_exe.eo +++ b/src/lib/ecore/ecore_exe.eo @@ -20,6 +20,7 @@ class Ecore.Exe (Eo.Base, Efl.Control) } implements { + Eo.Base.destructor; Eo.Base.finalize; Efl.Control.suspend.set; } --
