evas: ref/unref root node while it's being used by vg object.

This also remove dead code.
This commit is contained in:
ChunEon Park 2015-04-03 16:30:49 +02:00 committed by Cedric BAIL
parent df43ec9487
commit 4e0b919a62
2 changed files with 10 additions and 11 deletions

View File

@ -89,22 +89,19 @@ evas_object_vg_add(Evas *e)
return eo_obj;
}
void
_evas_vg_root_node_set(Eo *obj EINA_UNUSED, Evas_VG_Data *pd, Evas_VG_Node *container)
{
Evas_VG_Node *tmp;
tmp = pd->root;
pd->root = eo_ref(container);
eo_unref(tmp);
}
Evas_VG_Node *
_evas_vg_root_node_get(Eo *obj EINA_UNUSED, Evas_VG_Data *pd)
{
return pd->root;
}
void
_evas_vg_eo_base_destructor(Eo *eo_obj, Evas_VG_Data *pd)
{
eo_unref(pd->root);
eo_do_super(eo_obj, MY_CLASS, eo_destructor());
}
void
_evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd)
{
@ -120,6 +117,7 @@ _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd)
/* root node */
pd->root = eo_add(EVAS_VG_ROOT_NODE_CLASS, eo_obj);
eo_ref(pd->root);
eo_do(eo_obj, parent = eo_parent_get());
evas_object_inject(eo_obj, obj, evas_object_evas_get(parent));

View File

@ -21,6 +21,7 @@ class Evas.VG (Evas.Object, Efl.File, Efl.Gfx.Fill, Efl.Gfx.View)
}
implements {
Eo.Base.constructor;
Eo.Base.destructor;
Efl.File.file.set;
Efl.File.file.get;
Efl.File.mmap.set;
@ -30,4 +31,4 @@ class Evas.VG (Evas.Object, Efl.File, Efl.Gfx.Fill, Efl.Gfx.View)
Efl.Gfx.View.size.set;
Efl.Gfx.View.size.get;
}
}
}