From 862e65c2608c9a92c084754d1cc526b7c574aea1 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Mon, 12 Oct 2020 18:36:31 +0900 Subject: [PATCH] vg_load_svg: Add points copy of missing polygon/polyline Summary: When using node, do atrribute copy. At that time, when target(url) is polygon or polyline, points array is not copied, causing a problem in output. So, add missing array copy. Test Plan: - Test SVG code Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers, kimcinoo, herb, cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D12174 --- src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c index 246e3e2a0e..721851e4fd 100644 --- a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c +++ b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c @@ -1651,10 +1651,12 @@ _copy_attribute(Svg_Node *to, Svg_Node *from) case SVG_NODE_POLYGON: to->node.polygon.points_count = from->node.polygon.points_count; to->node.polygon.points = calloc(to->node.polygon.points_count, sizeof(double)); + memcpy(to->node.polygon.points, from->node.polygon.points, to->node.polygon.points_count * sizeof(double)); break; case SVG_NODE_POLYLINE: to->node.polyline.points_count = from->node.polyline.points_count; to->node.polyline.points = calloc(to->node.polyline.points_count, sizeof(double)); + memcpy(to->node.polyline.points, from->node.polyline.points, to->node.polyline.points_count * sizeof(double)); break; default: break;