From 57e531fac8e42a154226157c323e46070e53aa92 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Sat, 8 Jun 2024 03:02:38 +0100 Subject: [PATCH] Patch to work around https://github.com/facebook/react-native/issues/44842 --- 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 db8b7da2d2..3dd0f145e5 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..151b372 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);