From a7af2a19e48ec99f0ef66ea8b4a6f6b4beacadd1 Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Mon, 19 Nov 2012 17:59:26 +0100 Subject: [PATCH] Try to fix decode image error message --- SDWebImage/SDWebImageDecoder.m | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/SDWebImage/SDWebImageDecoder.m b/SDWebImage/SDWebImageDecoder.m index 318683e..b73ec6e 100644 --- a/SDWebImage/SDWebImageDecoder.m +++ b/SDWebImage/SDWebImageDecoder.m @@ -17,14 +17,13 @@ CGImageRef imageRef = image.CGImage; CGSize imageSize = CGSizeMake(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); CGRect imageRect = (CGRect){.origin = CGPointZero, .size = imageSize}; - + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef); - CGContextRef context; - context = CGBitmapContextCreate(NULL, imageSize.width, imageSize.height, 8, imageSize.width * 4, colorSpace, bitmapInfo); + CGContextRef context = CGBitmapContextCreate(NULL, imageSize.width, imageSize.height, CGImageGetBitsPerComponent(imageRef), CGImageGetBytesPerRow(imageRef), colorSpace, CGImageGetBitmapInfo(imageRef)); CGColorSpaceRelease(colorSpace); - - if (!context) return nil; + + // If failed, return undecompressed image + if (!context) return image; CGContextDrawImage(context, imageRect, imageRef); CGImageRef decompressedImageRef = CGBitmapContextCreateImage(context);