summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-05-27 15:34:24 +0900
committerHermet Park <chuneon.park@samsung.com>2020-05-27 15:36:47 +0900
commit89e34f351ea7c4aebe92abfc84631a0ef6136114 (patch)
treed53af930caf7d9ab76cb7057acf2ab3ed87d4fc9
parent11cbb5ae9352d08221a52ffe0271aa97305fe75a (diff)
efl gfx_path: fix memory leak.
his reverts commit 38be95b0b6fd93df01636ae0a7c974b32ed694a1. 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
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.c7
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.eo5
2 files changed, 1 insertions, 11 deletions
diff --git a/src/lib/efl/interfaces/efl_gfx_path.c b/src/lib/efl/interfaces/efl_gfx_path.c
index 9852de1498..18a1733da0 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -1535,11 +1535,4 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
1535 _efl_gfx_path_path_set(obj, pd, from->commands, from->points); 1535 _efl_gfx_path_path_set(obj, pd, from->commands, from->points);
1536} 1536}
1537 1537
1538EOLIAN static void
1539_efl_gfx_path_efl_object_destructor(Eo *obj, Efl_Gfx_Path_Data *pd)
1540{
1541 _efl_gfx_path_reset(obj, pd);
1542 efl_destructor(efl_super(obj, EFL_GFX_PATH_MIXIN));
1543}
1544
1545#include "interfaces/efl_gfx_path.eo.c" 1538#include "interfaces/efl_gfx_path.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo b/src/lib/efl/interfaces/efl_gfx_path.eo
index 42a44607ac..3f47497da9 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -1,7 +1,7 @@
1import eina_types; 1import eina_types;
2import efl_gfx_types; 2import efl_gfx_types;
3 3
4mixin @beta Efl.Gfx.Path requires Efl.Object 4mixin @beta Efl.Gfx.Path
5{ 5{
6 [[EFL graphics path object interface]] 6 [[EFL graphics path object interface]]
7 methods { 7 methods {
@@ -267,7 +267,4 @@ mixin @beta Efl.Gfx.Path requires Efl.Object
267 ]] 267 ]]
268 } 268 }
269 } 269 }
270 implements {
271 Efl.Object.destructor;
272 }
273} 270}