diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2019-10-07 10:04:12 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2019-10-07 10:04:12 -0400 |
commit | d28870daa7506bb73af4e92ee8b48c952f3d6aa6 (patch) | |
tree | 4403385cd8657bdf8b8bd5be8d83eb92b1f76130 | |
parent | 7f91f6280d103c2c5148276b438adf5bbdcf373d (diff) | |
download | efl-d28870daa7506bb73af4e92ee8b48c952f3d6aa6.tar.gz |
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
-rw-r--r-- | src/lib/eldbus/eldbus_model_arguments.c | 4 | ||||
-rw-r--r-- | src/lib/eldbus/eldbus_model_arguments.eo | 2 | ||||
-rw-r--r-- | src/lib/eldbus/eldbus_model_signal.c | 4 | ||||
-rw-r--r-- | 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; |