On Mon, 28 Oct 2024 15:01:20 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
> When AWT toolkit is started first for it to own the "NSApplication" and then > FX toolkit is started and shutdown by calling `Platform.exit` and then Swing > Dialog is tried to be created, then it is seen that the application crashes > as the AWT dialog tries to create the underlying Window as a child window of > the FX window (as can be seen > [here](https://github.com/openjdk/jdk/blob/9f6211bcf1b46e4bfba2d128d9eb8457bc0cde51/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java#L738-L743) > ) > Since the underlying window handle is already invalid, it crashes. > > The fix is made to register shutdown hook when FX toolkit is shutting down so > as to notify JLightweightFrame about the invalid window handle when FX > toolkit is shutdown and SwingNode disposer is called. > > The regression test is modified to override tearDownOnce as the test method > shuts down the JavaFX runtime using `Platform.exit`, then the `teardownOnce > `method in the superclass calls `Util.shutdown`, which times out waiting for > a runnable to run, which it never will since the toolkit is already shutdown This pull request has now been integrated. Changeset: 501f761c Author: Prasanta Sadhukhan <psadhuk...@openjdk.org> URL: https://git.openjdk.org/jfx/commit/501f761c388642c73ce210fb199806eeeda73e54 Stats: 24 lines in 3 files changed: 19 ins; 1 del; 4 mod 8340849: [macos] Crash when creating a child window of a JavaFX window after Platform::exit 8340442: Enable SwingNodePlatformExitCrashTest after JDK-8340849 is fixed Reviewed-by: kcr, lkostyra ------------- PR: https://git.openjdk.org/jfx/pull/1614