On Thu, 9 Nov 2023 22:30:32 GMT, Harshitha Onkar <[email protected]> wrote:
>> With Xcode upgraded to 14.3.1 for macOS builds secure coding warning message >> was seen in the logs as below: >> >> "WARNING: Secure coding is not enabled for restorable state! Enable secure >> coding by implementing >> NSApplicationDelegate.applicationSupportsSecureRestorableState: and >> returning YES." >> >> which requires AppDelegate to explicitly implement >> applicationSupportsSecureRestorableState() to return true as mentioned here >> in [Apple Release >> notes](https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Restorable-State). >> >> While investigating JFX embedded scenario (Swing components in FX window) >> another issue observed was that the AWT was overriding the FX delegate >> causing the app to crash in certain scenarios. This issue is also being >> fixed in this PR and also as part of >> [JDK-8319669](https://bugs.openjdk.org/browse/JDK-8319669) , >> https://github.com/openjdk/jfx/pull/1280. >> >> The fix for JDK-8318854 involves: >> >> - implementing applicationSupportsSecureRestorableState() in >> ApplicationDelegate.m & QueuingApplicationDelegate.m to return YES by >> default, unless the env var - **AWT_DISABLE_NSDELEGATE_SECURE_SAVE** is >> defined. >> >> - Fix added to stop AWT toolkit from overriding a delegate set by another >> NSApplication by default. There is an option to restore the old behavior by >> defining the env var - **AWT_OVERRIDE_NSDELEGATE**. >> >> - Null checks are added for shared delegate in the unforeseen case where it >> could be null and cause issues in AWTWindow.m, CMenuBar.m, >> ApplicationDelegate.m >> >> >> **PLEASE NOTE !!** The environment variables being added as part of this >> fix are for debugging only and should NOT be used for application purpose. >> As such they will NOT be documented. > > Harshitha Onkar has updated the pull request incrementally with one > additional commit since the last revision: > > local var reused src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m line 844: > 842: } > 843: > 844: if (menuBar == nil && [ApplicationDelegate sharedDelegate] != nil) { Can you please provide details on how the delegate can be null here and there if it should be set at the startup of any awt application? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16569#discussion_r1388820090
