> This is a proposed fix for the bug where the Apple system menubar is > initially non-responsive on macOS 10.15 and later after a JavaFX application > has started up. The end user can workaround this by switching to some other > application and then back to the JavaFX app, but there is no known workaround > that the application developer can use. > > JavaFX is using a non-standard approach to creating the system menus, and > seems likely that some change in macOS 10.15 means that this no longer works > the same as in previous versions of macOS. We have had problems with > application startup on macOS in the past that affected the system menubar: > see [JDK-8123430](https://bugs.openjdk.java.net/browse/JDK-8123430) and > [JDK-8093743](https://bugs.openjdk.java.net/browse/JDK-8093743). > > The solution is to deactivate and then reactivate the application after the > app has initially been made active, but before any window is initialized and > before the system menu is populated. > > I pushed this as two commits: one with the fix and one with some temporary > verbose debug print statements. I will remove the print statements prior to > the formal review, but wanted to leave them in for now in case someone wanted > to test them, and ran into an issue (the debug print statements could help > isolate any problems). > > I have tested this on macOS 10.14, 10.15, and 11 (Big Sur). It will need > additional testing. > > The only drawback I see with this approach is that there can be a very brief > flash when launching the JavaFX app from a terminal window as the FX > application activates, deactivates, and reactivates.
Kevin Rushforth has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.java.net/jfx/pull/361/files - new: https://git.openjdk.java.net/jfx/pull/361/files/3078e21f..e7de442c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=361&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=361&range=00-01 Stats: 12 lines in 1 file changed: 8 ins; 2 del; 2 mod Patch: https://git.openjdk.java.net/jfx/pull/361.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/361/head:pull/361 PR: https://git.openjdk.java.net/jfx/pull/361