From 13898f1125e286846ab3f33a459399d110d0ad07 Mon Sep 17 00:00:00 2001 From: Yury Popov Date: Thu, 14 May 2015 17:41:28 +0300 Subject: [PATCH] XML deallloc after render-path is fullfilled --- pxSVG/pxSVGRenderPath.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pxSVG/pxSVGRenderPath.m b/pxSVG/pxSVGRenderPath.m index 1bd7cec..01338f3 100644 --- a/pxSVG/pxSVGRenderPath.m +++ b/pxSVG/pxSVGRenderPath.m @@ -142,6 +142,7 @@ - (instancetype)initWithXML:(pxXMLNode *)xmlNode } else { self.bounds = self.root.bounds; } + self.xml = nil; return self; } - (pxSVGObject*)findDef:(NSString*)name inNode:(pxXMLNode*)xml @@ -153,7 +154,10 @@ - (pxSVGObject*)findDef:(NSString*)name inNode:(pxXMLNode*)xml if (def) return def; } def = [self findDef:name inNode:n]; - if (def) return def; + if (def) { + [self.defCache setObject:def forKey:name]; + return def; + } } return nil; } @@ -384,6 +388,7 @@ - (pxSVGObject*)parseObject:(pxXMLNode*)node inheritAttributes:(pxSVGObject*)inh if (!obj.strokeColor) obj.strokeColor = inherit?inherit.strokeColor:nil; if (obj.id) [self.defCache setObject:obj forKey:obj.id]; + if (obj.fillDef) [self findDef:obj.fillDef]; if (node.childNodes.count) { NSMutableArray *subnodes = [NSMutableArray new]; for (pxXMLNode *n in node.childNodes) {