RFR: JDK-8318854: [macos14] Running any AWT app prints Secure coding warning [v2]
Sergey Bylokhov
serb at openjdk.org
Wed Nov 29 06:58:06 UTC 2023
On Wed, 29 Nov 2023 06:51:27 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
>> So in either case -- with or without the delegate being overridden -- the defaultMenuBar is returning `nil`. This makes sense, since in the case of a JavaFX app, JavaFX has already initialized the `NSApplication` and set the system menu bar.
>>
>> I do recommend leaving the `sharedDelegate` null checks that you added as part of this PR, since that way we short-circuit any other logic (e.g., in this specific case you avoid setting `isDisabled = NO` which seems more accurate), and you aren't relying on Objective C to treat this case as a no-op.
>>
>> You might even consider making the `sharedDelegate` null check (and bailing out) earlier, but maybe there is a good reason to leave the check where it is.
>
>>The reason has to why we don't observe NPE or crash when sharedDelegate is null is
>
> But why it is null? The OSXAPP_SetApplicationDelegate is called when the LWCToolkit is initialized in non-headless [mode](https://github.com/openjdk/jdk/blob/9a6ca233c7e91ffa2ce9451568b3be88ccd04504/src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m#L355) and that code does not depend on "NSApplicationAWT". Does it mean that the toolkit is not initiated? Then how we can call peer-menu-related code? if that code path is not executed probably we should change that?
I found a reason in one comment above.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16569#discussion_r1408826874
More information about the client-libs-dev
mailing list