summaryrefslogtreecommitdiff
path: root/src/lib/eo/eo_base_class.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2018-05-03 11:36:28 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-05-24 16:02:18 -0700
commit79e4947f3e197f7d1c8336057cf54d6ddef482bc (patch)
tree97601f8c6640964b1390c87f82a2d7db1ef01c7c /src/lib/eo/eo_base_class.c
parentc1cef1e74b1d49efe4b886d892c58e00d62a81aa (diff)
eo: add an automatic fallback at the moment when efl_unref instead of efl_del is called.
Differential Revision: https://phab.enlightenment.org/D6095
Diffstat (limited to 'src/lib/eo/eo_base_class.c')
-rw-r--r--src/lib/eo/eo_base_class.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 94ed3d4..72aa678 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -740,12 +740,16 @@ _efl_object_parent_set(Eo *obj, Efl_Object_Data *pd, Eo *parent_id)
740 // to improve l1 cache efficiency 740 // to improve l1 cache efficiency
741 goto err_parent; 741 goto err_parent;
742 } 742 }
743
744 eo_obj->parent = EINA_TRUE;
743 } 745 }
744 else 746 else
745 { 747 {
746 if (prev_parent) _efl_invalidate(eo_obj); 748 if (prev_parent) _efl_invalidate(eo_obj);
747 749
748 pd->parent = NULL; 750 pd->parent = NULL;
751 eo_obj->parent = EINA_FALSE;
752
749 if (prev_parent && !eo_obj->del_triggered) efl_unref(obj); 753 if (prev_parent && !eo_obj->del_triggered) efl_unref(obj);
750 } 754 }
751 755