From 1fc2a5a4c9181d5e0726dc73f78aafb17a8e66cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Tue, 20 Feb 2024 07:37:29 -0800 Subject: [PATCH] Prevent reporting mount when FabricUIManager has been destroyed (#43099) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43099 In all methods of FabricUIManager we check whether it's been destroyed before doing any logic, but we don't in this asynchronous method we're scheduling to report mounts. This adds the check in that case as well to potentially fix some crashes we're seeing in current experiments for mount hooks on Android. Changelog: [internal] Reviewed By: sammy-SC Differential Revision: D53920863 fbshipit-source-id: 3cc18cf5237d4866940739de80cc00604bcd0fb6 --- .../main/java/com/facebook/react/fabric/FabricUIManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index f091faaf87c..4b5adcbf972 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -1231,6 +1231,10 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { public void run() { mMountNotificationScheduled.set(false); + if (mDestroyed) { + return; + } + final @Nullable Binding binding = mBinding; if (mountItems == null || binding == null) { return;