zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d28870daa7506bb73af4e92ee8b48c952f3d6aa6
commit d28870daa7506bb73af4e92ee8b48c952f3d6aa6 Author: Cedric BAIL <[email protected]> Date: Mon Oct 7 10:04:12 2019 -0400 eldbus: connection are destroyed on invalidate, there is no point for any object to not cleanup on invalidate. Summary: This solve a bug when there is a change in order of destruction and you would expect the model to still work. Depends on D10287 Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya Reviewed By: bu5hm4n Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10288 --- src/lib/eldbus/eldbus_model_arguments.c | 4 ++-- src/lib/eldbus/eldbus_model_arguments.eo | 2 +- src/lib/eldbus/eldbus_model_signal.c | 4 ++-- src/lib/eldbus/eldbus_model_signal.eo | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/eldbus/eldbus_model_arguments.c b/src/lib/eldbus/eldbus_model_arguments.c index ca0b6d68b4..817d896d0d 100644 --- a/src/lib/eldbus/eldbus_model_arguments.c +++ b/src/lib/eldbus/eldbus_model_arguments.c @@ -76,7 +76,7 @@ _eldbus_model_arguments_custom_constructor(Eo *obj EINA_UNUSED, } static void -_eldbus_model_arguments_efl_object_destructor(Eo *obj, Eldbus_Model_Arguments_Data *pd) +_eldbus_model_arguments_efl_object_invalidate(Eo *obj, Eldbus_Model_Arguments_Data *pd) { _eldbus_model_arguments_unload(pd); @@ -90,7 +90,7 @@ _eldbus_model_arguments_efl_object_destructor(Eo *obj, Eldbus_Model_Arguments_Da pd->proxy = NULL; } - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } static Eina_Iterator * diff --git a/src/lib/eldbus/eldbus_model_arguments.eo b/src/lib/eldbus/eldbus_model_arguments.eo index 627ab680a7..15129041b1 100644 --- a/src/lib/eldbus/eldbus_model_arguments.eo +++ b/src/lib/eldbus/eldbus_model_arguments.eo @@ -25,7 +25,7 @@ class @beta Eldbus.Model.Arguments extends Eldbus.Model { implements { Efl.Object.constructor; Efl.Object.finalize; - Efl.Object.destructor; + Efl.Object.invalidate; Efl.Model.properties { get; } Efl.Model.property { set; get; } } diff --git a/src/lib/eldbus/eldbus_model_signal.c b/src/lib/eldbus/eldbus_model_signal.c index d1bb490195..5d05742870 100644 --- a/src/lib/eldbus/eldbus_model_signal.c +++ b/src/lib/eldbus/eldbus_model_signal.c @@ -43,11 +43,11 @@ _eldbus_model_signal_signal_constructor(Eo *obj EINA_UNUSED, } static void -_eldbus_model_signal_efl_object_destructor(Eo *obj, Eldbus_Model_Signal_Data *pd) +_eldbus_model_signal_efl_object_invalidate(Eo *obj, Eldbus_Model_Signal_Data *pd) { _eldbus_model_signal_callback_del(pd); - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } diff --git a/src/lib/eldbus/eldbus_model_signal.eo b/src/lib/eldbus/eldbus_model_signal.eo index 722784037f..c5b6f2224f 100644 --- a/src/lib/eldbus/eldbus_model_signal.eo +++ b/src/lib/eldbus/eldbus_model_signal.eo @@ -14,7 +14,7 @@ class @beta Eldbus.Model.Signal extends Eldbus.Model.Arguments { } implements { Efl.Object.constructor; - Efl.Object.destructor; + Efl.Object.invalidate; } constructors { .signal_constructor; --
