Looks fine.

> 
> Thank you, Phil. I have updated the fix based on your suggestion. Please find 
> the new version here: http://cr.openjdk.java.net/~dmarkov/8163979/webrev.03/ 
> <http://cr.openjdk.java.net/~dmarkov/8163979/webrev.03/>
> 
> Thanks,
> Dmitry
>> On 14 Feb 2017, at 01:54, Phil Race <philip.r...@oracle.com 
>> <mailto:philip.r...@oracle.com>> wrote:
>> 
>>  63         if (workList == null || (workList != null && 
>> workList.isEmpty())) {
>> 
>> 
>> I think we can safely write just :
>> 
>> if (workList == null || workList.isEmpty()) {
>> 
>> Other than that it seems fine.
>> 
>> -phil.
>> 
>> On 02/13/2017 11:43 AM, Dmitry Markov wrote:
>>> 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 http://cr.openjdk.java.net/~dmarkov/8163979/webrev.02/ 
>>> <http://cr.openjdk.java.net/~dmarkov/8163979/webrev.02/>
>>> 
>>> Thanks,
>>> Dmitry
>>>> On 13 Feb 2017, at 20:22, Sergey Bylokhov <sergey.bylok...@oracle.com> 
>>>> <mailto:sergey.bylok...@oracle.com> 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();
>>>>    }
>>>> 
>>>> 
>>>>> I am sorry, I sent the incorrect version of the fix, (i.e. 
>>>>> http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/ 
>>>>> <http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/>). It releases 
>>>>> currenLocale two times.
>>>>> The correct version is located at 
>>>>> http://cr.openjdk.java.net/~dmarkov/8163979/webrev.01/ 
>>>>> <http://cr.openjdk.java.net/~dmarkov/8163979/webrev.01/>
>>>>> Could you review the updated fix, please?
>>>>> 
>>>>> Thanks,
>>>>> Dmitry
>>>>>> On 13 Feb 2017, at 16:58, Dmitry Markov <dmitry.mar...@oracle.com> 
>>>>>> <mailto:dmitry.mar...@oracle.com> wrote:
>>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> Could you review a fix for jdk9, please?
>>>>>> 
>>>>>>  bug: https://bugs.openjdk.java.net/browse/JDK-8163979 
>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8163979>
>>>>>>  webrev: http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/ 
>>>>>> <http://cr.openjdk.java.net/~dmarkov/8163979/webrev.00/>
>>>>>> 
>>>>>> 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
>> 
> 

Reply via email to