ICU-8761 Merged an additional fix to #8630(r30549) from trunk
X-SVN-Rev: 30551
diff --git a/main/classes/core/src/com/ibm/icu/util/ULocale.java b/main/classes/core/src/com/ibm/icu/util/ULocale.java
index b40d2d7..da95103 100644
--- a/main/classes/core/src/com/ibm/icu/util/ULocale.java
+++ b/main/classes/core/src/com/ibm/icu/util/ULocale.java
@@ -597,7 +597,8 @@
* @stable ICU 3.0
*/
public static synchronized void setDefault(ULocale newLocale){
- Locale.setDefault(newLocale.toLocale());
+ defaultLocale = newLocale.toLocale();
+ Locale.setDefault(defaultLocale);
defaultULocale = newLocale;
// This method also updates all category default locales
for (Category cat : Category.values()) {
diff --git a/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java b/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
index b33113c..873d79e 100644
--- a/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
+++ b/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java
@@ -194,7 +194,8 @@
*/
public void TestJavaLocaleCompatibility() {
Locale backupDefault = Locale.getDefault();
-
+ ULocale orgUlocDefault = ULocale.getDefault();
+
// Java Locale for ja_JP with Japanese calendar
Locale jaJPJP = new Locale("ja", "JP", "JP");
Locale jaJP = new Locale("ja", "JP");
@@ -289,6 +290,11 @@
errln("FAIL: ULocale#setDefault failed to set Java Locale no_NO_NY /actual: " + Locale.getDefault());
}
Locale.setDefault(backupDefault);
+
+ // Make sure default ULocale is restored
+ if (!ULocale.getDefault().equals(orgUlocDefault)) {
+ errln("FAIL: Original default ULocale is not restored - " + ULocale.getDefault() + ", expected(orginal) - " + orgUlocDefault);
+ }
}
// ================= Infrastructure =================