diff --git a/QRCodeEncoderObjectiveCAtGithub/QREncoder.h b/QRCodeEncoderObjectiveCAtGithub/QREncoder.h index 1786b8e..a7e1654 100644 --- a/QRCodeEncoderObjectiveCAtGithub/QREncoder.h +++ b/QRCodeEncoderObjectiveCAtGithub/QREncoder.h @@ -30,3 +30,5 @@ const static unsigned char WHITE = 0xff; + (UIImage*)renderDataMatrix:(DataMatrix*)matrix imageDimension:(int)imageDimension; @end + +void FLProviderReleaseData(void *info, const void *data, size_t size); diff --git a/QRCodeEncoderObjectiveCAtGithub/QREncoder.mm b/QRCodeEncoderObjectiveCAtGithub/QREncoder.mm index b21de5c..3b3f12a 100644 --- a/QRCodeEncoderObjectiveCAtGithub/QREncoder.mm +++ b/QRCodeEncoderObjectiveCAtGithub/QREncoder.mm @@ -132,7 +132,7 @@ + (UIImage*)renderDataMatrix:(DataMatrix*)matrix imageDimension:(int)imageDimens CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, rawData, rawDataSize, - NULL); + FLProviderReleaseData); CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; @@ -156,5 +156,8 @@ + (UIImage*)renderDataMatrix:(DataMatrix*)matrix imageDimension:(int)imageDimens return newImage; } +void FLProviderReleaseData(void *info, const void *data, size_t size) { + free((void *)data); +} -@end \ No newline at end of file +@end