Przeglądaj źródła

potential problem in _YYAnimatedImageViewFetchOperation

ibireme 9 lat temu
rodzic
commit
f5f6072415
1 zmienionych plików z 3 dodań i 3 usunięć
  1. 3 3
      YYImage/YYAnimatedImageView.m

+ 3 - 3
YYImage/YYAnimatedImageView.m

@@ -177,14 +177,14 @@ typedef NS_ENUM(NSUInteger, YYAnimatedImageType) {
         @autoreleasepool {
             if (idx >= total) idx = 0;
             if ([self isCancelled]) break;
-            view = _view;
+            __strong YYAnimatedImageView *view = _view;
+            if (!view) break;
             LOCK_VIEW(BOOL miss = (view->_buffer[@(idx)] == nil));
-            view = nil;
+            
             if (miss) {
                 UIImage *img = [_curImage animatedImageFrameAtIndex:idx];
                 img = img.yy_imageByDecoded;
                 if ([self isCancelled]) break;
-                view = _view;
                 LOCK_VIEW(view->_buffer[@(idx)] = img ? img : [NSNull null]);
                 view = nil;
             }