File tree Expand file tree Collapse file tree 1 file changed +8
-7
lines changed
packages/react-native/React/Base/Surface/SurfaceHostingView Expand file tree Collapse file tree 1 file changed +8
-7
lines changed Original file line number Diff line number Diff line change @@ -288,13 +288,14 @@ - (NSMenu *)menuForEvent:(NSEvent *)event
288288 NSMenu *menu = nil ;
289289#if __has_include(<React/RCTDevMenu.h>) && RCT_DEV
290290 // Try to get the dev menu from the bridge if available
291- // The contextContainer stores the bridge, but we access it through the surface for simplicity
292- if ([self .surface respondsToSelector: @selector (bridge )]) {
293- id bridge = [self .surface performSelector: @selector (bridge )];
294- if (bridge && [bridge respondsToSelector: @selector (devMenu )]) {
295- id devMenu = [bridge performSelector: @selector (devMenu )];
296- if (devMenu && [devMenu respondsToSelector: @selector (menu )]) {
297- menu = [devMenu performSelector: @selector (menu )];
291+ // In Fabric with bridge mode, RCTSurface (but not RCTFabricSurface) has a bridge
292+ if ([self .surface isKindOfClass: [RCTSurface class ]]) {
293+ RCTSurface *surface = (RCTSurface *)self.surface ;
294+ // Use performSelector to access the bridge since it's not a public property
295+ if ([surface respondsToSelector: @selector (bridge )]) {
296+ RCTBridge *bridge = [surface performSelector: @selector (bridge )];
297+ if (bridge) {
298+ menu = [[bridge devMenu ] menu ];
298299 }
299300 }
300301 }
You can’t perform that action at this time.
0 commit comments