summaryrefslogtreecommitdiff
path: root/src/lib/eo/eo_base_class.c
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2018-03-15 22:07:18 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-03-15 22:10:27 -0700
commit47ac8689f1372639f410a2e2f612c62db612d143 (patch)
tree152bafcdf6db536ee0fb0f0a684ffcdd86315f5d /src/lib/eo/eo_base_class.c
parent6c0180d7f852a1399990140142f40018ebc99349 (diff)
eo: Orphan an object that is being invalidated.
Summary: This will avoid infinite loops and errors when the parent tries to orphan an invalidated child. Fixes T6780 Test Plan: Run `make check` Reviewers: cedric Maniphest Tasks: T6780 Differential Revision: https://phab.enlightenment.org/D5839 Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to 'src/lib/eo/eo_base_class.c')
-rw-r--r--src/lib/eo/eo_base_class.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 1047154..5fd47c4 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -2169,9 +2169,11 @@ _efl_object_finalize(Eo *obj, Efl_Object_Data *pd EINA_UNUSED)
2169} 2169}
2170 2170
2171static void 2171static void
2172_efl_object_invalidate(Eo *obj EINA_UNUSED, Efl_Object_Data *pd) 2172_efl_object_invalidate(Eo *obj, Efl_Object_Data *pd)
2173{ 2173{
2174 _efl_pending_futures_clear(pd); 2174 _efl_pending_futures_clear(pd);
2175 if (efl_parent_get(obj))
2176 efl_parent_set(obj, NULL);
2175 pd->invalidate = EINA_TRUE; 2177 pd->invalidate = EINA_TRUE;
2176} 2178}
2177 2179