From 157af368bce3271d6c08361b80155262988ce9b7 Mon Sep 17 00:00:00 2001 From: Nicholas Shipes Date: Sat, 10 May 2014 09:33:31 -0700 Subject: [PATCH] MOD: added catch for bad/corrupt loaded image data --- URBMediaFocusViewController.m | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/URBMediaFocusViewController.m b/URBMediaFocusViewController.m index 8e3db75..5026116 100644 --- a/URBMediaFocusViewController.m +++ b/URBMediaFocusViewController.m @@ -804,6 +804,17 @@ - (void)connectionDidFinishLoading:(NSURLConnection *)connection { else { image = [UIImage imageWithData:self.urlData]; } + + // sometimes the server can return bad or corrupt image data which will result in a crash if we don't throw an error here + if (!image) { + NSString *errorDescription = [NSString stringWithFormat:@"Bad or corrupt image data for %@", urlPath]; + NSError *error = [NSError errorWithDomain:@"com.urban10.URBMediaFocusViewController" code:100 userInfo:@{NSLocalizedDescriptionKey: errorDescription}]; + if ([self.delegate respondsToSelector:@selector(mediaFocusViewController:didFailLoadingImageWithError:)]) { + [self.delegate mediaFocusViewController:self didFailLoadingImageWithError:error]; + } + return; + } + [self showImage:image fromRect:self.fromRect]; if ([self.delegate respondsToSelector:@selector(mediaFocusViewController:didFinishLoadingImage:)]) {