aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2018-03-13 15:29:21 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-03-13 15:29:21 -0700
commit425a4473792ca854c36a5b7eadf232f5521abe4f (patch)
treea8e101a02baf3c146b2523360ef24348b1584b10
parentgenlist: fix "insane" order [BUG COMPATIBILITY] (diff)
downloadefl-425a4473792ca854c36a5b7eadf232f5521abe4f.tar.gz
eo: fix invalidate to always happen.
-rw-r--r--src/lib/eo/eo_base_class.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 7468172d36..10471541d9 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -2050,6 +2050,12 @@ _efl_object_destructor(Eo *obj, Efl_Object_Data *pd)
DBG("%p - %s.", obj, efl_class_name_get(obj));
+ // If the object has been invalidated yet, time to do it
+ // This can happen when the object has no parent and get
+ // deleted by efl_unref.
+ if (!pd->invalidate)
+ efl_invalidate(obj);
+
// special removal - remove from children list by hand after getting
// child handle in case unparent method is overridden and does
// extra things like removes other children too later on in the list