mirror of
https://github.com/status-im/realm-js.git
synced 2025-02-23 03:38:16 +00:00
parent
501e36341e
commit
2e537e9c68
@ -45,16 +45,22 @@ RCT_EXPORT_MODULE()
|
||||
|
||||
Ivar executorIvar = class_getInstanceVariable([bridge class], "_javaScriptExecutor");
|
||||
id contextExecutor = object_getIvar(bridge, executorIvar);
|
||||
Ivar contextIvar = class_getInstanceVariable([contextExecutor class], "_context");
|
||||
|
||||
// The executor could be a RCTWebSocketExecutor, in which case it won't have a JS context.
|
||||
if (!contextIvar) {
|
||||
return;
|
||||
}
|
||||
|
||||
[contextExecutor executeBlockOnJavaScriptQueue:^{
|
||||
Ivar ivar = class_getInstanceVariable([contextExecutor class], "_context");
|
||||
RCTJavaScriptContext *rctJSContext = object_getIvar(contextExecutor, ivar);
|
||||
RCTJavaScriptContext *rctJSContext = object_getIvar(contextExecutor, contextIvar);
|
||||
JSGlobalContextRef ctx;
|
||||
if (rctJSContext) {
|
||||
ctx = rctJSContext.ctx;
|
||||
}
|
||||
else {
|
||||
ctx = JSGlobalContextCreate(NULL);
|
||||
object_setIvar(contextExecutor, ivar, [[RCTJavaScriptContext alloc] initWithJSContext:ctx]);
|
||||
object_setIvar(contextExecutor, contextIvar, [[RCTJavaScriptContext alloc] initWithJSContext:ctx]);
|
||||
}
|
||||
|
||||
[RealmJS initializeContext:ctx];
|
||||
|
Loading…
x
Reference in New Issue
Block a user