diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 6367fc41..d6334f52 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -1955,11 +1955,12 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content, if (loader->stack.cnt > 0) parent = loader->stack.list[loader->stack.cnt - 1]; node = method(loader, parent, attrs, attrsLength); } - loader->stack.push(node); if (node->type == SvgNodeType::Defs) { loader->doc->node.doc.defs = node; loader->def = node; + } else { + loader->stack.push(node); } } else if ((method = _findGraphicsFactory(tagName))) { parent = loader->stack.list[loader->stack.cnt - 1]; @@ -2389,4 +2390,4 @@ unique_ptr SvgLoader::data() if (task) task->get(); if (root) return move(root); else return nullptr; -} \ No newline at end of file +}