From 37583bd6e8c4c583363c937857ccd508e56fe34d Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Wed, 22 May 2019 13:11:53 -0700 Subject: [PATCH] Only create TurboModule jsi::HostObject if Java module is non-null Summary: ## Summary If the Java instance of a TurboModule is null, then the resultant JS object returned from `TurboModuleRegistry` should also be null. Reviewed By: mdvacca Differential Revision: D15253476 fbshipit-source-id: 83a6b9aa97b547aeecf9b285986ad0f5b9e413da --- .../turbomodule/core/jni/jsireact/TurboModuleManager.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/jsireact/TurboModuleManager.cpp b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/jsireact/TurboModuleManager.cpp index 34c30a5f00b..995d274dda0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/jsireact/TurboModuleManager.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/jsireact/TurboModuleManager.cpp @@ -62,7 +62,12 @@ void TurboModuleManager::installJSIBindings() { } const auto moduleInstance = getJavaModule(name); - return turboModuleManagerDelegate_->cthis()->getTurboModule(name, moduleInstance, jsCallInvoker_); + + if (moduleInstance) { + return turboModuleManagerDelegate_->cthis()->getTurboModule(name, moduleInstance, jsCallInvoker_); + } + + return std::shared_ptr(nullptr); }) ); }