From 933d498e873937303dad3af0550bc1e86661cddf Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Tue, 27 Oct 2020 13:34:56 -0700 Subject: [PATCH 1/4] Actually dispose engine in release builds --- Modules/@babylonjs/react-native/EngineHook.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Modules/@babylonjs/react-native/EngineHook.ts b/Modules/@babylonjs/react-native/EngineHook.ts index 5ff3df80e..e3b20156f 100644 --- a/Modules/@babylonjs/react-native/EngineHook.ts +++ b/Modules/@babylonjs/react-native/EngineHook.ts @@ -67,22 +67,23 @@ export function useEngine(): Engine | undefined { useEffect(() => { let disposed = false; + let engine: Engine | undefined = undefined; (async () => { if (await BabylonModule.initialize() && !disposed) { - setEngine(new NativeEngine()); + engine = new NativeEngine(); + setEngine(engine); } })(); return () => { disposed = true; - setEngine(engine => { - if (engine) { - DisposeEngine(engine); - } - return undefined; - }); + // NOTE: Do not use setEngine with a callback to dispose the engine instance as that callback does not get called during component unmount when compiled in release. + if (engine) { + DisposeEngine(engine); + } + setEngine(undefined); }; }, []); From 2e3a49d6a89945b154d6f2cc24ed284e00b8c7d3 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Tue, 27 Oct 2020 13:35:33 -0700 Subject: [PATCH 2/4] Bring in XMLHttpRequest fixes for BabylonNative --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index e81f65f12..2322ca96e 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit e81f65f129e5f93a343ab79e0fc93a18f4f10899 +Subproject commit 2322ca96ef188e64ea516fcb2b59cb12040d96cc From 54939eab36f9954d233dd8f9c5eebe7ba6f95e28 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Tue, 27 Oct 2020 17:47:37 -0700 Subject: [PATCH 3/4] More fixes in BabylonNative --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 2322ca96e..b3c72953e 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 2322ca96ef188e64ea516fcb2b59cb12040d96cc +Subproject commit b3c72953e39bddb2cb9dff192625b15267c48c4d From 52d8f357205805c98aa1102fb03f5509dc482933 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Wed, 28 Oct 2020 08:20:14 -0700 Subject: [PATCH 4/4] Update to BabylonNative master branch --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index b3c72953e..f2d2717bc 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit b3c72953e39bddb2cb9dff192625b15267c48c4d +Subproject commit f2d2717bc09739acc7db6ed8ef48875979e02b6f