8163979: [macosx] Chinese text shows as Latin w/ openVanilla input method

Reviewed-by: prr, serb
This commit is contained in:
Dmitry Markov 2017-02-14 15:47:58 +03:00
parent 69ec535664
commit 7ebe8fa0fa

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -57,15 +57,19 @@ public class CInputMethodDescriptor implements InputMethodDescriptor {
} }
static Object[] getAvailableLocalesInternal() { static Object[] getAvailableLocalesInternal() {
List<?> workList = nativeGetAvailableLocales(); List<Object> workList = nativeGetAvailableLocales();
Locale currentLocale = CInputMethod.getNativeLocale();
if (workList != null) { if (workList == null || workList.isEmpty()) {
return new Object[] {
currentLocale != null ? currentLocale : Locale.getDefault()
};
} else {
if (currentLocale != null && !workList.contains(currentLocale)) {
workList.add(currentLocale);
}
return workList.toArray(); return workList.toArray();
} }
return new Object[] {
Locale.getDefault()
};
} }
/** /**
@ -119,5 +123,5 @@ public class CInputMethodDescriptor implements InputMethodDescriptor {
} }
private static native void nativeInit(); private static native void nativeInit();
private static native List<?> nativeGetAvailableLocales(); private static native List<Object> nativeGetAvailableLocales();
} }