* [iOS] release jsContext object

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e1f73b6f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e1f73b6f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e1f73b6f

Branch: refs/heads/master
Commit: e1f73b6f93878d2ea0ad41a1fe82a174bae6a221
Parents: 2f9c032
Author: acton393 <[email protected]>
Authored: Thu Dec 14 19:12:34 2017 +0800
Committer: acton393 <[email protected]>
Committed: Wed Dec 20 17:47:55 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1f73b6f/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m 
b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 62574ba..ad0663b 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -462,9 +462,10 @@ _Pragma("clang diagnostic pop") \
             classDefinition.attributes = kJSClassAttributeNoAutomaticPrototype;
             JSClassRef globalObjectClass = JSClassCreate(&classDefinition);
             JSGlobalContextRef sandboxGlobalContextRef = 
JSGlobalContextCreateInGroup(contextGroup, globalObjectClass);
-            JSObjectRef sandBoxGlobalObjectRef = 
JSContextGetGlobalObject(sandboxGlobalContextRef);
-            JSObjectSetPrototype(sandboxGlobalContextRef, 
sandBoxGlobalObjectRef, [instanceContextEnvironment JSValueRef]);
+            JSClassRelease(globalObjectClass);
             sdkInstance.instanceJavaScriptContext = [JSContext 
contextWithJSGlobalContextRef:sandboxGlobalContextRef];
+            JSGlobalContextRelease(sandboxGlobalContextRef);
+            
JSObjectSetPrototype(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef,JSContextGetGlobalObject(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef),
 [instanceContextEnvironment JSValueRef]);
             [sdkInstance.instanceJavaScriptContext 
evaluateScript:jsBundleString];
         }];
     } else {
@@ -499,8 +500,6 @@ _Pragma("clang diagnostic pop") \
     sdkInstance.instanceJavaScriptContext = nil;
     
     [self callJSMethod:@"destroyInstance" args:@[instance]];
-    WXSDKInstance *sdkIntance = [WXSDKManager instanceForID:instance];
-    sdkIntance.instanceJavaScriptContext = NULL;
 }
 
 - (void)forceGarbageCollection

Reply via email to