forked from enlightenment/efl
evas: ref/unref root node while it's being used by vg object.
This also remove dead code.
This commit is contained in:
parent
df43ec9487
commit
4e0b919a62
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue