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", diff --git a/packages/react-native-gesture-handler/src/mocks/mocks.tsx b/packages/react-native-gesture-handler/src/mocks/mocks.tsx index 1a1b199b66..8aa8d6ec13 100644 --- a/packages/react-native-gesture-handler/src/mocks/mocks.tsx +++ b/packages/react-native-gesture-handler/src/mocks/mocks.tsx @@ -31,9 +31,9 @@ const LongPressGestureHandler = View; const PinchGestureHandler = View; const RotationGestureHandler = View; const FlingGestureHandler = View; -export const RawButton = ({ enabled, ...rest }: any) => ( +export const RawButton = ({ enabled, children, ...rest }: any) => ( - + {children ?? } ); export const BaseButton = RawButton;