You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ji...@apache.org on 2019/09/26 06:32:12 UTC
[incubator-weex] branch master updated: Double11 fix2 (#2937)
This is an automated email from the ASF dual-hosted git repository.
jianhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push:
new 69cfe53 Double11 fix2 (#2937)
69cfe53 is described below
commit 69cfe53cd1886e827306c20f020bb66ecd19b361
Author: wqyfavor <qi...@alibaba-inc.com>
AuthorDate: Thu Sep 26 14:32:07 2019 +0800
Double11 fix2 (#2937)
* [iOS] Fix issue JS thread may be deallocated not in JS thread.
* [iOS] Fix the issue that iOS13 logic not working if config center is not set.
---
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm | 1 +
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
index 9293fa5..9caff56 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
@@ -80,6 +80,7 @@
{
_jsContext.instanceId = nil;
__block JSContext* theContext = _jsContext;
+ _jsContext = nil; // Make sure that the context MUST be freed in JS thread.
WXPerformBlockOnBridgeThreadForInstance(^{
theContext = nil; // release the context in js thread to avoid main-thread deadlock
}, _weexInstanceId);
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 360ad4f..7a22748 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -606,6 +606,10 @@ typedef enum : NSUInteger {
BOOL alwaysUseMRCForObjectToWeexCore = [[configCenter configForKey:@"iOS_weex_ext_config.alwaysUseMRC" defaultValue:@(NO) isDefault:NULL] boolValue];
ConvertSwitches(isIOS13, useMRCForInvalidJSONObject, alwaysUseMRCForObjectToWeexCore);
}
+ else {
+ BOOL isIOS13 = [[[UIDevice currentDevice] systemVersion] integerValue] == 13;
+ ConvertSwitches(isIOS13, YES, NO);
+ }
return NO;
}