cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dcfddcd283e01e36096d573af9b46f512a39272c
commit dcfddcd283e01e36096d573af9b46f512a39272c Author: Cedric BAIL <ced...@osg.samsung.com> Date: Thu May 3 11:37:08 2018 -0700 eo: make sure efl_noref is always called at the proper time. Differential Revision: https://phab.enlightenment.org/D6096 --- src/lib/eo/eo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index a6323d1825..558ee29202 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -1891,7 +1891,8 @@ efl_unref(const Eo *obj_id) return ; } - if (EINA_UNLIKELY(obj->user_refcount == 1)) + if (EINA_UNLIKELY((obj->user_refcount == 1 && !obj->parent) || + (obj->user_refcount == 2 && obj->parent))) { // The noref event should happen before any object in the // tree get affected by the change in refcount. --