RFR: JDK-8284445: macOS 12 prints a warning when a function key shortcut is assigned to a menu [v3]
Ambarish Rapte
arapte at openjdk.org
Thu Nov 2 11:46:24 UTC 2023
On Tue, 31 Oct 2023 08:05:56 GMT, vlaaad <duke at openjdk.org> wrote:
>> This PR addresses [JDK-8284445](https://bugs.openjdk.org/browse/JDK-8284445).
>>
>> Context: the warning might be more important than it seems. Our JavaFX-based desktop app has [an issue](https://github.com/defold/defold/issues/7845) — when the user opens 2 instances of the app, one of the instances hangs after a while. While debugging the issue, I found that it's somehow related to the system menu bar — not refreshing it fixes the issue. Further investigations revealed that the app hangs only if we show menus that use F1-F24 shortcuts. This reminded me of the warnings we get about `NSEventModifierFlagFunction specified to -setKeyEquivalentModifierMask` for such shortcuts. I experimented with removing the modifier for these shortcuts, and it helped with our issue!
>
> vlaaad has updated the pull request incrementally with one additional commit since the last revision:
>
> Don't use NSFunctionKeyMask as modifier at all
When a function key is pressed [NSFunctionKeyMask](https://developer.apple.com/documentation/appkit/nsfunctionkeymask) is automatically included by the system.
Hence it looks not breaking behavior with this change.
As the warning is quite clear it looks logical to not include the modifier.
Tested on macOS 12.6.8, warning appears without this change and disappears with this change.
Can you please check _KeyCombinationTest.java_ test file and try to add a unit test, at least a mac specific test, which should press a Function key and check that modifiers in the received event contains Function modifier flag.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1252#issuecomment-1790569978
More information about the openjfx-dev
mailing list