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

I completed my testing of this patch in combination with the patch from PR 
[jdk#16569](https://github.com/openjdk/jdk/pull/16569). I tested all four cases:

(patched / unpatched JDK) X (patched / unpatched FX)

See [this PR 
comment](https://github.com/openjdk/jdk/pull/16569#pullrequestreview-1723423580)
 for details.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1280#issuecomment-1804615330

Reply via email to