From 57f070061828c39ea2afcb2a1747390b4314fea2 Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Sun, 4 Nov 2012 10:12:26 +0100 Subject: [PATCH] Fix crash condition + invalid image orientation (fix #206) --- SDWebImage/MKAnnotationView+WebCache.m | 5 ++++- SDWebImage/SDWebImageCompat.h | 2 +- SDWebImage/UIButton+WebCache.m | 5 ++++- SDWebImage/UIImageView+WebCache.m | 5 ++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/SDWebImage/MKAnnotationView+WebCache.m b/SDWebImage/MKAnnotationView+WebCache.m index 0fe9457..affc677 100644 --- a/SDWebImage/MKAnnotationView+WebCache.m +++ b/SDWebImage/MKAnnotationView+WebCache.m @@ -64,7 +64,10 @@ - (void)cancelCurrentImageLoad { - [[SDWebImageManager sharedManager] cancelForDelegate:self]; + @synchronized(self) + { + [[SDWebImageManager sharedManager] cancelForDelegate:self]; + } } - (void)webImageManager:(SDWebImageManager *)imageManager didProgressWithPartialImage:(UIImage *)image forURL:(NSURL *)url diff --git a/SDWebImage/SDWebImageCompat.h b/SDWebImage/SDWebImageCompat.h index 82d4c0a..5fb9889 100644 --- a/SDWebImage/SDWebImageCompat.h +++ b/SDWebImage/SDWebImageCompat.h @@ -83,7 +83,7 @@ NS_INLINE UIImage *SDScaledImageForPath(NSString *path, NSObject *imageOrData) } } - UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:UIImageOrientationUp]; + UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; SDWISafeRelease(image) image = scaledImage; } diff --git a/SDWebImage/UIButton+WebCache.m b/SDWebImage/UIButton+WebCache.m index 2b61c1a..be6d335 100644 --- a/SDWebImage/UIButton+WebCache.m +++ b/SDWebImage/UIButton+WebCache.m @@ -129,7 +129,10 @@ - (void)cancelCurrentImageLoad { - [[SDWebImageManager sharedManager] cancelForDelegate:self]; + @synchronized(self) + { + [[SDWebImageManager sharedManager] cancelForDelegate:self]; + } } - (void)webImageManager:(SDWebImageManager *)imageManager didProgressWithPartialImage:(UIImage *)image forURL:(NSURL *)url userInfo:(NSDictionary *)info diff --git a/SDWebImage/UIImageView+WebCache.m b/SDWebImage/UIImageView+WebCache.m index 090c82c..de785ca 100644 --- a/SDWebImage/UIImageView+WebCache.m +++ b/SDWebImage/UIImageView+WebCache.m @@ -64,7 +64,10 @@ - (void)cancelCurrentImageLoad { - [[SDWebImageManager sharedManager] cancelForDelegate:self]; + @synchronized(self) + { + [[SDWebImageManager sharedManager] cancelForDelegate:self]; + } } - (void)webImageManager:(SDWebImageManager *)imageManager didProgressWithPartialImage:(UIImage *)image forURL:(NSURL *)url