Put a vector into SVG decode.

This commit is contained in:
2026-05-06 02:10:44 -04:00
parent 49702e362b
commit 3aa431ad70
+4 -3
View File
@@ -13,6 +13,8 @@
#include "dsvg.hh" #include "dsvg.hh"
#include <vector>
#ifdef ENABLE_SVG #ifdef ENABLE_SVG
#include <stdlib.h> /* For abort() */ #include <stdlib.h> /* For abort() */
@@ -107,9 +109,9 @@ static void Svg_write(DilloSvg *svg, void *Buf, uint_t BufSize)
a_Dicache_set_parms(svg->url, svg->version, svg->Image, a_Dicache_set_parms(svg->url, svg->version, svg->Image,
width, height, type, 1 / 2.2); width, height, type, 1 / 2.2);
unsigned char *dest = dNew(unsigned char, height * stride); std::vector< unsigned char > dest; dest.resize( height * stride );
nsvgRasterizeXY(rasterizer, nimg, 0, 0, 1, 1, dest, width, height, stride); nsvgRasterizeXY(rasterizer, nimg, 0, 0, 1, 1, dest.data(), width, height, stride);
unsigned bg_blue = (svg->bgcolor) & 0xFF; unsigned bg_blue = (svg->bgcolor) & 0xFF;
unsigned bg_green = (svg->bgcolor >> 8) & 0xFF; unsigned bg_green = (svg->bgcolor >> 8) & 0xFF;
@@ -129,7 +131,6 @@ static void Svg_write(DilloSvg *svg, void *Buf, uint_t BufSize)
} }
a_Dicache_write(svg->url, svg->version, line, i); a_Dicache_write(svg->url, svg->version, line, i);
} }
dFree(dest);
dFree(line); dFree(line);
nsvgDelete(nimg); nsvgDelete(nimg);
} }