diff --git a/examples/resources/svg/421553147-22eaf24a-a9a7-4a35-abac-df5a54ac5b19.svg b/examples/resources/svg/421553147-22eaf24a-a9a7-4a35-abac-df5a54ac5b19.svg new file mode 100644 index 00000000..88215113 --- /dev/null +++ b/examples/resources/svg/421553147-22eaf24a-a9a7-4a35-abac-df5a54ac5b19.svg @@ -0,0 +1,258 @@ + + + + diff --git a/examples/resources/svg/samsung-7.svg b/examples/resources/svg/samsung-7.svg deleted file mode 100644 index d9df1265..00000000 --- a/examples/resources/svg/samsung-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index fc6071d1..15ab7fd7 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -3445,6 +3445,7 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content, if (node->type != SvgNodeType::Defs || !empty) { loader->stack.push(node); } + loader->latestGradient = nullptr; } else if ((method = _findGraphicsFactory(tagName))) { if (loader->stack.count > 0) parent = loader->stack.last(); else parent = loader->doc; @@ -3455,6 +3456,7 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content, loader->stack.push(defs); loader->currentGraphicsNode = node; } + loader->latestGradient = nullptr; } else if ((gradientMethod = _findGradientFactory(tagName))) { SvgStyleGradient* gradient; gradient = gradientMethod(loader, attrs, attrsLength); @@ -3480,8 +3482,9 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content, loader->svgParse->flags = SvgStopStyleFlags::StopDefault; simpleXmlParseAttributes(attrs, attrsLength, _attrParseStops, loader); loader->latestGradient->stops.push(loader->svgParse->gradStop); - } else if (!isIgnoreUnsupportedLogElements(tagName)) { - TVGLOG("SVG", "Unsupported elements used [Elements: %s]", tagName); + } else { + loader->latestGradient = nullptr; + if (!isIgnoreUnsupportedLogElements(tagName)) TVGLOG("SVG", "Unsupported elements used [Elements: %s]", tagName); } }