Hello,

Could you please review the following fix for the bug.

Bug: https://bugs.openjdk.java.net/browse/JDK-8132503
Webrev: http://cr.openjdk.java.net/~alitvinov/8132503/jdk9/webrev.00

The bug consists in the fact that after the fix for JDK-8068283, when IDEOGRAPHIC FULL STOP character "。" is entered from a keyboard using Pinyin IM, "java.awt.event.InputMethodEvent" is not generated and FULL STOP character "." is entered in "javax.swing.JTextArea" component.

The solution adds the additional check to "if" condition, which was edited by the fix for JDK-8068283,

"if ([self hasMarkedText] || !fProcessingKeystroke || (utf16Length > 2)) {"

in the method "- (void) insertText:(id) replacementRange:(NSRange)" from the file "jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m". This additional check defines, whether the analyzed code point belongs to Unicode code points range "U+3000 – U+303F" ("CJK Symbols and Punctuation"), which contains "。" character and, if it is so, generates "InputMethodEvent".

It was verified in a local environment that the regression test from the fix for JDK-8068283 does not fail with this fix also.

Thank you,
Anton

Reply via email to