<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello, <br>
    <br>
    Could you review a fix for jdk9, please? <br>
    <br>
        bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8169355">https://bugs.openjdk.java.net/browse/JDK-8169355</a><br>
        webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8169355/webrev.00/">http://cr.openjdk.java.net/~dmarkov/8169355/webrev.00/</a><br>
    <br>
    Problem description: <br>
    The new mechanism of dead keys detection and processing was
    introduced by <a
      href="https://bugs.openjdk.java.net/browse/JDK-8139189"
      title="VK_OEM_102 dead key detected as VK_UNDEFINED"
      class="issue-link" data-issue-key="JDK-8139189"><strike>JDK-8139189</strike></a>.
    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. <br>
    <br>
    Fix: <br>
    The function WindowsKeyToJavaChar() has to take into account the
    current keyboard layout, (i.e. MapVirtualKey() should be replaced
    with MapVirtualKeyEx()). <br>
    <br>
    Note: the corresponding regression tests, (e.g.
    java/awt/InputMethods/DiacriticsTest/DiacriticsTest.html) passed on
    the build with fix.<br>
    <br>
    Thanks, <br>
    Dmitry
  </body>
</html>