From cdcd1bc2ee30c74abb158d05cd2b9186f06c4ea6 Mon Sep 17 00:00:00 2001 From: Curtis Hard Date: Wed, 9 Dec 2015 13:01:40 +0000 Subject: [PATCH] Various fixes --- .../UserInterfaceState.xcuserstate | Bin 40761 -> 40655 bytes source/IJSVG.m | 47 ++++++++++++++-- source/IJSVGBezierPathAdditions.h | 2 - source/IJSVGBezierPathAdditions.m | 52 ------------------ source/IJSVGParser.h | 4 -- source/IJSVGParser.m | 2 +- source/IJSVGPath.m | 3 +- 7 files changed, 45 insertions(+), 65 deletions(-) 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 7f784b531113aa483f16ffa7e11851561fd9cd13..fe0baa3079ba911f47dabd0f0cf756b511dd3e41 100644 GIT binary patch delta 22176 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 ndF0fQnvpX`{x*0MPyvDYQR3{-@CYBcK02r<^66 delta 22211 zcmaic1$Yz5`~U9jX0zEeZR+mcQj)q+s?^;*P21E<-J#jRJHaG9B2SP%+0YROlS2dKQmhm! z!>X|+tQl*;TCp~42sQ#6iH*U=W3#Z?*iYEc*c@ywwi;W5{erE<)?w?hU$L#&Hf#^J z7dwufz)oVPu+!LO><{cV_9ylT`x|?Xy~f^PZ?Vrf2j}COxIS)*o8e;I6?enkaSz-R z_rkq#KinT5D97XR1UwN>!jth7JQYvFi|}GxhL_-_co|-f55{ZoTD%c&#fRa;@p1Sh zd@?=-pN`MQf5Lyp=i^=YB78Bv1Yd!##8=__@csC2_yPQP{2+b^Ka3y2kK!lr)A%|3 zBK`+{6TgT5gFnHa;&1VH_2ASegZ#( zIbb2^1}niYU@h1HwtyXA57-M1frMZ^*DL;{gW zBoS#u7LiR96JvNNggu z5xa=p#D3x=af&!ioFUE}A#2GxvYu=p8_6cJnQS3j$u@E&dd?=!X3lob4$dCVUd{o|@0=r?qnwkRQ=D_0^PJ0^ zKRDMpH#mQC?rT}L+0;+e&(s`hF14ImL9L`#QLCvn z)GyR_Y6rEG+C}ZA_E3ANQkQO~It)Jy6W z^_oj?NiK&=ak*TY%i}U!J+402fNR6G<=S!Wx$ayKt|vE`8^R6chH(?QN!(;^K3Bpm z;7YlL+#+r7C>^a1*J`XGIXK1ZLY zFVGk1Kj}O4UHTq);LH4dsoM^TzSU^M2sXy;JxI%;=Sg* zVMvC

dF%&FClxvYC8F$`ms4 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 0) - { - CGMutablePathRef path = CGPathCreateMutable(); - NSPoint points[3]; - BOOL didClosePath = YES; - - for (i = 0; i < numElements; i++) - { - switch ([self elementAtIndex:i associatedPoints:points]) - { - case NSMoveToBezierPathElement: - CGPathMoveToPoint(path, NULL, points[0].x, points[0].y); - break; - - case NSLineToBezierPathElement: - CGPathAddLineToPoint(path, NULL, points[0].x, points[0].y); - didClosePath = NO; - break; - - case NSCurveToBezierPathElement: - CGPathAddCurveToPoint(path, NULL, points[0].x, points[0].y, - points[1].x, points[1].y, - points[2].x, points[2].y); - didClosePath = NO; - break; - - case NSClosePathBezierPathElement: - CGPathCloseSubpath(path); - didClosePath = YES; - break; - } - } - - // Be sure the path is closed or Quartz may not do valid hit detection. - if (!didClosePath) - CGPathCloseSubpath(path); - - immutablePath = CGPathCreateCopy(path); - CGPathRelease(path); - } - return immutablePath; -} - @end diff --git a/source/IJSVGParser.h b/source/IJSVGParser.h index 13026e9..1dad48d 100644 --- a/source/IJSVGParser.h +++ b/source/IJSVGParser.h @@ -49,10 +49,6 @@ handleForeignObject:(IJSVGForeignObject *)foreignObject - (id)initWithFileURL:(NSURL *)aURL error:(NSError **)error delegate:(id)delegate; -- (id)initWithFileURL:(NSURL *)aURL - encoding:(NSStringEncoding)encoding - error:(NSError **)error - delegate:(id)delegate;; + (IJSVGParser *)groupForFileURL:(NSURL *)aURL; + (IJSVGParser *)groupForFileURL:(NSURL *)aURL delegate:(id)delegate; diff --git a/source/IJSVGParser.m b/source/IJSVGParser.m index 424a425..af7bc41 100644 --- a/source/IJSVGParser.m +++ b/source/IJSVGParser.m @@ -97,8 +97,8 @@ if( ![self _validateParse:&anError] ) { *error = anError; - [self release], self = nil; [_document release], _document = nil; + [self release], self = nil; return nil; } diff --git a/source/IJSVGPath.m b/source/IJSVGPath.m index bd18e94..50b0cae 100644 --- a/source/IJSVGPath.m +++ b/source/IJSVGPath.m @@ -17,7 +17,8 @@ - (void)dealloc { - [subpath release], subpath = nil; + if(subpath!=nil) + [subpath release], subpath = nil; [super dealloc]; }