From 504549f81a16150ed13e59badcee858838f6bf1c Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Wed, 5 Jan 2022 00:55:12 +0100 Subject: [PATCH] evas: fix memleak during a picture duplication A tvg picture is created twice - by efl and by tvg. The object created by efl has to be deleted in order to prevent memory the leaks. Change-Id: I74629c8cb8ea47e476e102cefcb45ee571837856 --- src/lib/evas/canvas/efl_canvas_vg_image.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/efl_canvas_vg_image.c b/src/lib/evas/canvas/efl_canvas_vg_image.c index d87f591..e37a93b 100644 --- a/src/lib/evas/canvas/efl_canvas_vg_image.c +++ b/src/lib/evas/canvas/efl_canvas_vg_image.c @@ -132,7 +132,12 @@ _efl_canvas_vg_image_efl_duplicate_duplicate(const Eo *obj, Efl_Canvas_Vg_Image_ node = efl_duplicate(efl_super(obj, MY_CLASS)); sd = efl_data_scope_get(node, MY_CLASS); - if (pd->picture) sd->picture = tvg_paint_duplicate(pd->picture); + // TIZEN_ONLY(20220330): fix memleak during a picture duplication + if (pd->picture) + { + if (sd->picture) tvg_paint_del(sd->picture); + sd->picture = tvg_paint_duplicate(pd->picture); + } sd->image = pd->image; // note: no memcpy here sd->w = pd->w; -- 2.7.4