Skip to content

Commit ca10b38

Browse files
CopilotSaadnajmi
andcommitted
Improve code clarity and comments based on review feedback
Co-authored-by: Saadnajmi <[email protected]>
1 parent 85e1cfc commit ca10b38

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

packages/react-native/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)