fix(mac): turn on legacy mode for Java apps #3944
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relates to #3935, #174, #458, #3243. (Not marking as fixed because it depends on external changes.)
This switches Java apps into legacy mode. However, Java itself will need patching to support Keyman, as it makes assumptions about input methods, including matching specific input methods by name, before enabling its complex text support.
I think we should consider backporting to 13.0 if the Java fix is accepted in reasonable time.
I have submitted a bug report but submitting a patch to the OpenJDK project looks tiresome and convoluted. It requires a change to a single file, AWTView.m, with the following diff (against JDK 16.0):
References
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8195675
JDK currently has a number of bugs in its IM handling; see:
It's not clear to me exactly which versions of Java currently experience these issues. The fix introduced by 8214578 made things worse, not better, and has an incredibly specific patch for a single IM and single character.
Testing
I have successfully tested this fix with a source build of ELAN (#3243).
I have not yet tested the other apps but it looks hopeful.