diff --git a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt index e149fa49fc..6c4c086905 100644 --- a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +++ b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt @@ -170,7 +170,8 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) : } synchronized(roots) { return roots.firstOrNull { - it.rootView is ReactRootView && it.rootView.rootViewTag == rootViewTag + val rv = it.rootView + rv is ReactRootView && rv.getRootViewTag() == rootViewTag } } } diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm index 7c4821410a..d0b59b9ee5 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm @@ -244,10 +244,14 @@ - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childVie RNGHUIView *touchHandlerView = childView; #if !TARGET_OS_OSX + Class fullWindowOverlayContainerClass = NSClassFromString(@"RNSFullWindowOverlayContainer"); + if ([[childView reactViewController] isKindOfClass:[RCTFabricModalHostViewController class]]) { touchHandlerView = [childView reactViewController].view; } else { - while (touchHandlerView != nil && ![touchHandlerView isKindOfClass:[RCTSurfaceView class]]) { + while ( + touchHandlerView != nil && ![touchHandlerView isKindOfClass:[RCTSurfaceView class]] && + (fullWindowOverlayContainerClass == nil || ![touchHandlerView isKindOfClass:fullWindowOverlayContainerClass])) { touchHandlerView = touchHandlerView.superview; } } diff --git a/packages/react-native-gesture-handler/package.json b/packages/react-native-gesture-handler/package.json index 1c09de704c..a171342c8d 100644 --- a/packages/react-native-gesture-handler/package.json +++ b/packages/react-native-gesture-handler/package.json @@ -1,6 +1,6 @@ { "name": "react-native-gesture-handler", - "version": "2.29.0", + "version": "2.30.1", "description": "Declarative API exposing native platform touch and gesture system to React Native", "scripts": { "test": "jest",