From f82df26deeaea3df05240099cfc4a822c05e6c2d Mon Sep 17 00:00:00 2001 From: Patrick Desaulniers Date: Tue, 30 Apr 2019 20:35:37 -0400 Subject: [PATCH] Bring back the comment mentioning the need for a temporary buffer --- dgl/src/SVG.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dgl/src/SVG.cpp b/dgl/src/SVG.cpp index 3b5f9883..aebeac82 100644 --- a/dgl/src/SVG.cpp +++ b/dgl/src/SVG.cpp @@ -41,9 +41,8 @@ void SVG::loadFromMemory(const char* const rawData, const uint dataSize, const f free(fRGBAData); fRGBAData = nullptr; } - - NSVGrasterizer* rasterizer = nsvgCreateRasterizer(); + // nsvgParse modifies the input data, so we must use a temporary buffer char* tmpBuffer = (char*)malloc(dataSize); DISTRHO_SAFE_ASSERT_RETURN(tmpBuffer != nullptr, ) @@ -66,6 +65,7 @@ void SVG::loadFromMemory(const char* const rawData, const uint dataSize, const f fRGBAData = (unsigned char*)malloc(scaledWidth * scaledHeight * 4); + NSVGrasterizer* rasterizer = nsvgCreateRasterizer(); nsvgRasterize(rasterizer, image, 0, 0, scaling, fRGBAData, scaledWidth, scaledHeight, scaledWidth * 4); fSize.setSize(scaledWidth, scaledHeight);