summaryrefslogtreecommitdiff
path: root/src/lib/eo/eo_base_class.c
diff options
context:
space:
mode:
authorCedric Bail <cedric@osg.samsung.com>2018-05-09 20:03:06 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-05-24 16:02:19 -0700
commit3a1fe147423d171d5564183c71204a6e25f87762 (patch)
tree8b82309cb265b7fe3dfd47a92c51cf0656480538 /src/lib/eo/eo_base_class.c
parent91cd4f7c0c5b207da184a3bfd63aa9bdee8a3491 (diff)
eo: propagate invalidate before destroying the link to the parent.
Diffstat (limited to 'src/lib/eo/eo_base_class.c')
-rw-r--r--src/lib/eo/eo_base_class.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index b7b5f91..3baff35 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -709,6 +709,11 @@ _efl_object_parent_set(Eo *obj, Efl_Object_Data *pd, Eo *parent_id)
709 goto err_impossible; 709 goto err_impossible;
710 } 710 }
711 711
712 if (!parent_id)
713 {
714 if (prev_parent) _efl_invalidate(eo_obj);
715 }
716
712 if (pd->parent) 717 if (pd->parent)
713 { 718 {
714 Efl_Object_Data *old_parent_pd = efl_data_scope_get(pd->parent, 719 Efl_Object_Data *old_parent_pd = efl_data_scope_get(pd->parent,
@@ -749,8 +754,6 @@ _efl_object_parent_set(Eo *obj, Efl_Object_Data *pd, Eo *parent_id)
749 } 754 }
750 else 755 else
751 { 756 {
752 if (prev_parent) _efl_invalidate(eo_obj);
753
754 pd->parent = NULL; 757 pd->parent = NULL;
755 eo_obj->parent = EINA_FALSE; 758 eo_obj->parent = EINA_FALSE;
756 759