On Thu, 29 Aug 2024 21:34:18 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m line >> 128: >> >>> 126: [ThreadUtilities setApplicationOwner:NO]; >>> 127: return nil; >>> 128: } >> >> If you flip the default, then you need to set it to YES here: >> >> >> [ThreadUtilities setApplicationOwner:YES]; >> >> >> (this might be best anyway, since then you will always set the flag) > > Do we want to use cached version for this case? > `[NSApp isMemberOfClass:[NSApplication class]] && overrideDelegate` Hmm. Probably not. We don't really expect that anyone will ever set the (undocumented) env variable that will set the `overrideDelegate` flag, but it might be safest to only use the cached env if `[NSApp isKindOfClass:[NSApplicationAWT class]]`. If so, one way to do this would be to change line 129 to: [ThreadUtilities setApplicationOwner:[NSApp isKindOfClass:[NSApplicationAWT class]]]; Or keep track of a second flag, something like this: BOOL isApplicationOwner = NO; if (NSApp != nil) { if ([NSApp isMemberOfClass:[NSApplication class]] && overrideDelegate) shouldInstall = YES; if ([NSApp isKindOfClass:[NSApplicationAWT class]]) { shouldInstall = YES; isApplicationOwner = YES; } } [ThreadUtilities setApplicationOwner:isApplicationOwner]; ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20688#discussion_r1737403557