From 20310a6b39746a8e9ba35e0790d1548689ef4337 Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Thu, 26 Mar 2026 11:37:42 +0100 Subject: [PATCH 1/2] Handle `FullWindowOverlay` as the native root --- .../apple/RNGestureHandlerManager.mm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm index 75a1c1cf1d..edc487acbf 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm @@ -271,12 +271,15 @@ - (void)reattachHandlersIfNeeded - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childView { RNGHUIView *touchHandlerView = childView; + Class fullWindowOverlayContainerClass = NSClassFromString(@"RNSFullWindowOverlayContainer"); #if !TARGET_OS_OSX 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; } } From 73064dad5695b79597facb6b25f0742bad727d4a Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Fri, 27 Mar 2026 11:09:41 +0100 Subject: [PATCH 2/2] Move declaration --- .../apple/RNGestureHandlerManager.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm index edc487acbf..671f80c1ce 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm @@ -271,9 +271,10 @@ - (void)reattachHandlersIfNeeded - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childView { RNGHUIView *touchHandlerView = childView; - Class fullWindowOverlayContainerClass = NSClassFromString(@"RNSFullWindowOverlayContainer"); #if !TARGET_OS_OSX + Class fullWindowOverlayContainerClass = NSClassFromString(@"RNSFullWindowOverlayContainer"); + if ([[childView reactViewController] isKindOfClass:[RCTFabricModalHostViewController class]]) { touchHandlerView = [childView reactViewController].view; } else {