From 01b7a94a7eb95e9cf74fdcfe9cc350e62d0f7be2 Mon Sep 17 00:00:00 2001 From: dan Date: Sat, 8 Jun 2024 09:55:57 +0100 Subject: [PATCH] Patch to work around a crash in RN internals (#4426) Co-authored-by: Hailey --- patches/react-native+0.74.1.patch | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/patches/react-native+0.74.1.patch b/patches/react-native+0.74.1.patch index db8b7da2..5d2900a7 100644 --- a/patches/react-native+0.74.1.patch +++ b/patches/react-native+0.74.1.patch @@ -67,3 +67,19 @@ index b09e653..4c32b31 100644 +} + @end +diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +index 5f5e1ab..aac00b6 100644 +--- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java ++++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +@@ -99,8 +99,9 @@ public class JavaTimerManager { + } + + // If the JS thread is busy for multiple frames we cancel any other pending runnable. +- if (mCurrentIdleCallbackRunnable != null) { +- mCurrentIdleCallbackRunnable.cancel(); ++ IdleCallbackRunnable currentRunnable = mCurrentIdleCallbackRunnable; ++ if (currentRunnable != null) { ++ currentRunnable.cancel(); + } + + mCurrentIdleCallbackRunnable = new IdleCallbackRunnable(frameTimeNanos);