<AWT Dev> [9] Review request for 8158262: Diacritics input works incorrectly if event processing is delayed on Windows

dmitry markov dmitry.markov at oracle.com
Mon Nov 7 11:41:22 UTC 2016


Hello,

Could you review a fix for jdk9, please?

     bug: https://bugs.openjdk.java.net/browse/JDK-8158262
     webrev: http://cr.openjdk.java.net/~dmarkov/8158262/webrev.00/

Problem description:
The new mechanism of dead keys detection and processing was introduced 
by JDK-8139189 <https://bugs.openjdk.java.net/browse/JDK-8139189>. It 
uses MapVirtualKey() function to detect dead key combination. Also an 
output of MapVirtualKey() invocation is used as a value which is send 
with Java's KEY_PRESSED/KEY_RELEASED events. However if the mechanism, 
(i.e. WindowsKeyToJavaChar() function inside awtComponent.cpp) is called 
from the Java layer via JNI right after a keyboard layout has been 
changed, MapVirtualKey() returns a character value related to the 
previous keyboard layout.

Fix:
The function WindowsKeyToJavaChar() has to take into account the current 
keyboard layout, (i.e. MapVirtualKey() should be replaced with 
MapVirtualKeyEx()).

Thanks,
Dmitry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20161107/41c4f3af/attachment.html>


More information about the awt-dev mailing list