efl gfx_path: fix memory leak.

his reverts commit 38be95b0b6.

The reverting patch blocks efl_canvas_vg_shape triggers efl_canvas_vg_node destructor.

That occurs massive leaks among the all nodes in the vector tree.

To fix the origin issue, we must reset path explicitly in the derived class.

@fix
This commit is contained in:
Hermet Park 2020-05-27 15:34:24 +09:00
parent 11cbb5ae93
commit 89e34f351e
2 changed files with 1 additions and 11 deletions

View File

@ -1535,11 +1535,4 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
_efl_gfx_path_path_set(obj, pd, from->commands, from->points);
}
EOLIAN static void
_efl_gfx_path_efl_object_destructor(Eo *obj, Efl_Gfx_Path_Data *pd)
{
_efl_gfx_path_reset(obj, pd);
efl_destructor(efl_super(obj, EFL_GFX_PATH_MIXIN));
}
#include "interfaces/efl_gfx_path.eo.c"

View File

@ -1,7 +1,7 @@
import eina_types;
import efl_gfx_types;
mixin @beta Efl.Gfx.Path requires Efl.Object
mixin @beta Efl.Gfx.Path
{
[[EFL graphics path object interface]]
methods {
@ -267,7 +267,4 @@ mixin @beta Efl.Gfx.Path requires Efl.Object
]]
}
}
implements {
Efl.Object.destructor;
}
}