From a6d7d9b1ea46524615bb603cbbeefe4e2a91f50a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 26 Jun 2025 15:12:41 +0200 Subject: [PATCH] fix: gesture not activating due to outdated handler tag --- .../src/handlers/gestures/GestureDetector/useAnimatedGesture.ts | 2 +- .../src/handlers/gestures/gestureStateManager.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts b/packages/react-native-gesture-handler/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts index c1cce09307..d499c6e444 100644 --- a/packages/react-native-gesture-handler/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +++ b/packages/react-native-gesture-handler/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts @@ -163,7 +163,7 @@ export function useAnimatedGesture( runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, false); } } else if (isTouchEvent(event)) { - if (!stateControllers[i]) { + if (!stateControllers[i] || stateControllers[i].handlerTag !== event.handlerTag) { stateControllers[i] = GestureStateManager.create(event.handlerTag); } diff --git a/packages/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts b/packages/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts index 2f77095b56..248dce71e5 100644 --- a/packages/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts +++ b/packages/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts @@ -7,6 +7,7 @@ export interface GestureStateManagerType { activate: () => void; fail: () => void; end: () => void; + handlerTag: number; } const warningMessage = tagMessage( @@ -21,6 +22,7 @@ const setGestureState = Reanimated?.setGestureState; function create(handlerTag: number): GestureStateManagerType { 'worklet'; return { + handlerTag, begin: () => { 'worklet'; if (REANIMATED_AVAILABLE) {