diff --git a/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate index 9d73456..7f784b5 100644 Binary files a/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate and b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/source/IJSVGCache.h b/source/IJSVGCache.h index 4ccf3f0..e2d7005 100644 --- a/source/IJSVGCache.h +++ b/source/IJSVGCache.h @@ -19,5 +19,6 @@ + (void)flushCache; + (BOOL)enabled; + (void)setEnabled:(BOOL)flag; ++ (void)purgeCachedSVGForFileURL:(NSURL *)aURL; @end diff --git a/source/IJSVGCache.m b/source/IJSVGCache.m index f9c8f55..2845a60 100644 --- a/source/IJSVGCache.m +++ b/source/IJSVGCache.m @@ -32,6 +32,11 @@ static BOOL _enabled = YES; return svg; } ++ (void)purgeCachedSVGForFileURL:(NSURL *)aURL +{ + [_cache removeObjectForKey:aURL]; +} + + (void)cacheSVG:(IJSVG *)svg fileURL:(NSURL *)aURL { diff --git a/source/IJSVGParser.m b/source/IJSVGParser.m index 07e6e3c..3cff236 100644 --- a/source/IJSVGParser.m +++ b/source/IJSVGParser.m @@ -96,7 +96,8 @@ *error = [[[NSError alloc] initWithDomain:IJSVGErrorDomain code:IJSVGErrorParsingFile userInfo:nil] autorelease]; - [_document release], _document = nil; + if( _document != nil ) + [_document release], _document = nil; [self release], self = nil; return nil; } @@ -108,8 +109,8 @@ if( ![self _validateParse:&anError] ) { *error = anError; - [_document release], _document = nil; [self release], self = nil; + [_document release], _document = nil; return nil; }