Repository: incubator-weex Updated Branches: refs/heads/master 48490acfb -> b664e0874
[WEEX-147][iOS] bugfix crash due to multi-thread access close #914 make image placeholder property and sdk instance userInfo property atomic, Bug:147 Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b664e087 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b664e087 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b664e087 Branch: refs/heads/master Commit: b664e08746b91d4d2658245052af671dd8c5eb8d Parents: 48490ac Author: acton393 <zhangxing610...@gmail.com> Authored: Mon Nov 27 20:51:10 2017 +0800 Committer: acton393 <zhangxing610...@gmail.com> Committed: Thu Nov 30 20:14:04 2017 +0800 ---------------------------------------------------------------------- ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 8 ++++---- ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b664e087/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m ---------------------------------------------------------------------- diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m index 4cbe4da..257aec6 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m +++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m @@ -54,7 +54,7 @@ static dispatch_queue_t WXImageUpdateQueue; pthread_mutexattr_t _propertMutexAttr; } -@property (nonatomic, strong) NSString *placeholdSrc; +@property (atomic, strong) NSString *placeholdSrc; @property (nonatomic, assign) CGFloat blurRadius; @property (nonatomic, assign) UIViewContentMode resizeMode; @property (nonatomic, assign) WXImageQuality imageQuality; @@ -113,7 +113,7 @@ WX_EXPORT_METHOD(@selector(save:)) - (void)configPlaceHolder:(NSDictionary*)attributes { if (attributes[@"placeHolder"] || attributes[@"placeholder"]) { - _placeholdSrc = [[WXConvert NSString:attributes[@"placeHolder"]?:attributes[@"placeholder"]]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + self.placeholdSrc = [[WXConvert NSString:attributes[@"placeHolder"]?:attributes[@"placeholder"]]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; } } @@ -384,8 +384,8 @@ WX_EXPORT_METHOD(@selector(save:)) } WXLogDebug(@"Updating image, component:%@, placeholder:%@ ", self.ref, placeholderSrc); - NSString *newURL = [_placeholdSrc copy]; - WX_REWRITE_URL(_placeholdSrc, WXResourceTypeImage, self.weexInstance) + NSString *newURL = [self.placeholdSrc copy]; + WX_REWRITE_URL(self.placeholdSrc, WXResourceTypeImage, self.weexInstance) __weak typeof(self) weakSelf = self; self.placeholderOperation = [[self imageLoader] downloadImageWithURL:newURL imageFrame:self.calculatedFrame userInfo:nil completed:^(UIImage *image, NSError *error, BOOL finished) { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b664e087/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h ---------------------------------------------------------------------- diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h index 74171e6..1d92352 100644 --- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h +++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h @@ -174,7 +174,7 @@ typedef NS_ENUM(NSInteger, WXErrorCode) {//error.code /** * the info stored by user. */ -@property (nonatomic, strong) NSMutableDictionary *userInfo; +@property (atomic, strong) NSMutableDictionary *userInfo; /** * scale factor from css unit to device pixel.