canvas vg: fix dangling vector containers.
These duplicated containers are not going removed since its refernece is always more than 0. We need to unref explicity when they have to @fix
This commit is contained in:
parent
461a709e7f
commit
532e8056c6
|
@ -3332,10 +3332,11 @@ _edje_vector_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3 EIN
|
||||||
root = efl_duplicate(src_root);
|
root = efl_duplicate(src_root);
|
||||||
|
|
||||||
if (!efl_gfx_path_interpolate(root, src_root, dest_root, pos))
|
if (!efl_gfx_path_interpolate(root, src_root, dest_root, pos))
|
||||||
{
|
ERR("Can't interpolate check the svg file");
|
||||||
ERR("Can't interpolate check the svg file");
|
|
||||||
}
|
|
||||||
efl_canvas_vg_object_root_node_set(ep->object, root);
|
efl_canvas_vg_object_root_node_set(ep->object, root);
|
||||||
|
|
||||||
|
efl_unref(root);
|
||||||
efl_unref(src_root);
|
efl_unref(src_root);
|
||||||
efl_unref(dest_root);
|
efl_unref(dest_root);
|
||||||
}
|
}
|
||||||
|
|
|
@ -349,6 +349,7 @@ _efl_canvas_vg_object_efl_object_invalidate(Eo *eo_obj, Efl_Canvas_Vg_Object_Dat
|
||||||
{
|
{
|
||||||
Vg_User_Entry *user_entry = pd->user_entry;
|
Vg_User_Entry *user_entry = pd->user_entry;
|
||||||
ENFN->ector_surface_cache_drop(ENC, user_entry->root);
|
ENFN->ector_surface_cache_drop(ENC, user_entry->root);
|
||||||
|
if (pd->user_entry->root) efl_unref(pd->user_entry->root);
|
||||||
free(pd->user_entry);
|
free(pd->user_entry);
|
||||||
}
|
}
|
||||||
pd->user_entry = NULL;
|
pd->user_entry = NULL;
|
||||||
|
|
Loading…
Reference in New Issue