<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <pre><span class="new"> 63         if (workList == null || (workList != null && workList.isEmpty())) {


I think we can safely write just :

if (workList == null || </span><span class="new">workList.isEmpty()</span>) {
</pre>
    <br>
    Other than that it seems fine.<br>
    <br>
    -phil.<br>
    <br>
    <div class="moz-cite-prefix">On 02/13/2017 11:43 AM, Dmitry Markov
      wrote:<br>
    </div>
    <blockquote
      cite="mid:082C31DD-3A8B-4C6D-9AF6-C9040F489A00@oracle.com"
      type="cite">
      <pre wrap="">Hi Sergey,

Thank you for the review. You suggested a really good solution for the issue.
I have updated the fix based on your recommendation. The new version is located at <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8163979/webrev.02/">http://cr.openjdk.java.net/~dmarkov/8163979/webrev.02/</a>

Thanks,
Dmitry
</pre>
      <blockquote type="cite">
        <pre wrap="">On 13 Feb 2017, at 20:22, Sergey Bylokhov <a class="moz-txt-link-rfc2396E" href="mailto:Sergey.Bylokhov@oracle.com"><Sergey.Bylokhov@oracle.com></a> wrote:

Hi, Dmitry.
Probably we can reuse Java_sun_lwawt_macosx_CInputMethod_getNativeLocale?

And change the java code in the CInputMethodDescriptor to something like:

   static Object[] getAvailableLocalesInternal() {
       List<?> workList = nativeGetAvailableLocales();
        Locale nativeLocale = CIM.getNativeLocale()

       if (workList == null && nativeLocale == null)) {
                return new Object[] {
            Locale.getDefault()
        };
        }
        if(workList != null && !workList.isEmpty() && nativeLocale == null) {
           return workList.toArray();
       }
        if((workList == null || workList.isEmpty()) && nativeLocale != null) {
                return new Object[] {
            nativeLocale;
        };
       }
        if (!workList.contains(nativeLocale)){
                workList.add(nativeLocale);
        }
       return workList.toArray();
   }


</pre>
        <blockquote type="cite">
          <pre wrap="">
I am sorry, I sent the incorrect version of the fix, (i.e. <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/">http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/</a>). It releases currenLocale two times.
The correct version is located at <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8163979/webrev.01/">http://cr.openjdk.java.net/~dmarkov/8163979/webrev.01/</a>
Could you review the updated fix, please?

Thanks,
Dmitry
</pre>
          <blockquote type="cite">
            <pre wrap="">On 13 Feb 2017, at 16:58, Dmitry Markov <a class="moz-txt-link-rfc2396E" href="mailto:Dmitry.Markov@oracle.com"><Dmitry.Markov@oracle.com></a> wrote:

Hello,

Could you review a fix for jdk9, please?

        bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8163979">https://bugs.openjdk.java.net/browse/JDK-8163979</a>
        webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/">http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/</a>

Problem description:
If the current keyboard layout is set to non-default value, (e.g. ABC, ABC Extended, etc) during Java launch, the input method functionality is not initialised correctly and may not work for some input methods, (e.g. OpenVanilla input method). The initialisation problems are caused by nativeGetAvailableLocales() function from CInputMethod.m. The function tries to obtain the list of available input method locales using platform API. If the retrieval is failed for some reason, nativeGetAvailableLocales() returns empty list or null.

Fix:
The function nativeGetAvailableLocales() should return the list contained the current input method locale, if it cannot retrieve the list of available locales from the platform.


Thanks,
Dmitry
</pre>
          </blockquote>
          <pre wrap="">
</pre>
        </blockquote>
        <pre wrap="">
</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>