From 4ba0affc3f03e689ac9fa2df6ad7dd19b758bf98 Mon Sep 17 00:00:00 2001 From: Garrett Moon Date: Mon, 28 Sep 2015 17:00:16 -0700 Subject: [PATCH] [CIFilter outputImage] can return nil, [CIContext createCGImage:fromRect:] requires a non-nil CIImage as input. --- Pod/Classes/PINProgressiveImage.m | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Pod/Classes/PINProgressiveImage.m b/Pod/Classes/PINProgressiveImage.m index 4d21d39..9b2fd5f 100644 --- a/Pod/Classes/PINProgressiveImage.m +++ b/Pod/Classes/PINProgressiveImage.m @@ -356,11 +356,15 @@ forKey:kCIInputRadiusKey]; CIImage *outputImage = [self.gaussianFilter outputImage]; - CGImageRef outputImageRef = [self.processingContext createCGImage:outputImage fromRect:CGRectMake(0, 0, inputImage.size.width, inputImage.size.height)]; - - //"decoding" the image here copies it to CPU memory? - outputUIImage = [UIImage pin_decodedImageWithCGImageRef:outputImageRef]; - CGImageRelease(outputImageRef); + if (outputImage) { + CGImageRef outputImageRef = [self.processingContext createCGImage:outputImage fromRect:CGRectMake(0, 0, inputImage.size.width, inputImage.size.height)]; + + if (outputImageRef) { + //"decoding" the image here copies it to CPU memory? + outputUIImage = [UIImage pin_decodedImageWithCGImageRef:outputImageRef]; + CGImageRelease(outputImageRef); + } + } } if (outputUIImage == nil) {