On Wed, 8 Nov 2023 19:43:24 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Fix [JDK-8319669](https://bugs.openjdk.org/browse/JDK-8319669) as follows: >> >> 1. Override the `NSApplicationDelegate` method >> `applicationSupportsSecureRestorableState` in `GlassApplication` and return >> `YES`. This silences the warning that FX applications now get on macOS 14. >> 2. Create and initialize an `NSApplicationFX` subclass of `NSApplication` >> with no additional functionality. This stops AWT from overwriting the >> NSApplicationDelegate (`GlassApplication`) that JavaFX sets during toolkit >> initialization in the case where the AWT toolkit is used from a JavaFX >> Application (e.g., when using SwingNode or other Swing functionality), and >> is necessary in order to safely do the above. It also fixes other problems >> that can result from the delegate being overwritten. >> >> As noted in the bug report, this PR solves the following problems: >> >> * Eliminates the "Secure coding is not enabled for restorable state" warning >> on macOS 14 >> * The assertion error reported in >> [JDK-8318129](https://bugs.openjdk.org/browse/JDK-8318129) >> >> * The FX application stops getting messages when the application is hidden, >> deactivated, reactivated, etc. We currently don't do anything with these >> messages once the application is running, but we might do so in the future. >> >> * Probably related to the above, we sometimes get an odd behavior when >> trying to hide an application on macOS 13 using the CMD-H key after the AWT >> Toolkit has been initialized. Instead of hiding the window, it pops up a >> finder window with a folder icon and a label that shows the version of Java. >> >> * If AWT and FX return a different answer from their delegate's >> `applicationSupportsSecureRestorableState` method, it will crash on macOS >> 13.x. >> >> This is the FX equivalent of >> [JDK-8318854](https://bugs.openjdk.org/browse/JDK-8318854) in AWT. > > Kevin Rushforth has updated the pull request incrementally with one > additional commit since the last revision: > > Fix typo: remove redundant `isEmbedded =` assignement Marked as reviewed by prr (Reviewer). ------------- PR Review: https://git.openjdk.org/jfx/pull/1280#pullrequestreview-1730781202