JDK-8320773 : [macOS] All IME input blocked
  • Type: Bug
  • Component: javafx
  • Sub-Component: window-toolkit
  • Affected Version: jfx22
  • Priority: P1
  • Status: Resolved
  • Resolution: Fixed
  • OS: os_x
  • Submitted: 2023-11-27
  • Updated: 2023-12-08
  • Resolved: 2023-11-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
jfx22 b20Fixed
Related Reports
Relates :  
Description
The changes to fix JDK-8087700 have caused all IME input to stop. Calling charactersByApplyingModifiers on an NSEvent somehow modifies the event and when it is later passed to NSTextInputContext.handleEvent the call just discards it.

This Apple bug has been confirmed on macOS 12 and 13 on Apple Silicon devices. Apple fixed it in macOS 14.

Steps to reproduce:
- Launch any app that accepts input (like the MonkeyTester)
- Switch to an IME-based input method like Japanese or Chinese
- Try to enter some text
Expected result
- Text entry works
Actual result
- All text entry is discarded
Comments
Changeset: c46c172b Author: Martin Fox <mfox@openjdk.org> Committer: Andy Goryachev <angorya@openjdk.org> Date: 2023-11-29 15:31:20 +0000 URL: https://git.openjdk.org/jfx/commit/c46c172be65370ef1a121d80b71cfb34cf887d2e
29-11-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jfx/pull/1295 Date: 2023-11-27 17:07:38 +0000
27-11-2023

Thanks. If a safe fix can be found, then we won't need to back out the original fix. We have plenty of time before JavaFX 22 RDP1.
27-11-2023