RFR: JDK-8284445: macOS 12 prints a warning when a function key shortcut is assigned to a menu [v2]

Martin Fox duke at openjdk.org
Mon Oct 30 18:11:52 UTC 2023


On Mon, 30 Oct 2023 11:27:59 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:
> 
>   Revert java changes and set NSFunctionKeyMask for non-F1-F24 menu items

modules/javafx.graphics/src/main/native-glass/mac/GlassMenu.m line 247:

> 245:             int delta = jshortcut - com_sun_glass_events_KeyEvent_VK_F13;
> 246:             shortcut = [NSString stringWithFormat:@"%C", (unsigned short)(NSF13FunctionKey + delta)];
> 247:         } else {

This else clause can be removed. JavaFX should never set the NSFunctionKeyMask so this PR can be just a one-line change (remove line 239).

Sorry I wasn't clearer about this earlier. I was basically diagnosing a different bug in the same area of code. Not your concern.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1252#discussion_r1376628467


More information about the openjfx-dev mailing list