Fix memory leaks

This commit is contained in:
Horcrux
2017-01-11 19:31:42 +08:00
parent 6e81ecf147
commit dcc39c4b67
4 changed files with 18 additions and 9 deletions
+7 -5
View File
@@ -29,15 +29,18 @@
[self clip:context];
CGContextSaveGState(context);
[self setupGlyphContext:context];
CGPathRef path = [self getPath:context];
CGPathRef path = [self getGroupPath:context];
CGAffineTransform transform = [self getAlignTransform:context path:path];
CGContextConcatCTM(context, transform);
[self setHitArea:path];
[self renderGroupTo:context];
[self releaseCachedPath];
CGContextRestoreGState(context);
CGPathRef transformedPath = CGPathCreateCopyByTransformingPath(path, &transform);
[self setHitArea:transformedPath];
CGPathRelease(transformedPath);
}
- (void)setupGlyphContext:(CGContextRef)context
@@ -71,10 +74,9 @@
[self setupGlyphContext:context];
CGPathRef groupPath = [self getGroupPath:context];
CGAffineTransform transform = [self getAlignTransform:context path:groupPath];
CGPathRef transformedPath = CGPathCreateCopyByTransformingPath(groupPath, &transform);
[self releaseCachedPath];
return transformedPath;
return (CGPathRef)CFAutorelease(CGPathCreateCopyByTransformingPath(groupPath, &transform));
}
- (void)renderGroupTo:(CGContextRef)context