You can go ahead and push the changeset, as there's no strict rule to have two reviewers in core-libs area.

Naoto

On 2/2/20 8:33 AM, Yasumasa Suenaga wrote:
Hi all,

Could you review this change?

   JBS: https://bugs.openjdk.java.net/browse/JDK-8238203
   webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8238203/webrev.00/

This webrev has been reviewed by Naoto.
I need one more reviewer to push.


Thanks,

Yasumasa


On 2020/01/30 4:36, Yasumasa Suenaga wrote:
Hi Sato-san,

I filed it to JBS, and create webrev.
Could you review it?

   JBS: https://bugs.openjdk.java.net/browse/JDK-8238203
   webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8238203/webrev.00/


Thanks,

Yasumasa


On 2020/01/30 3:15, naoto.s...@oracle.com wrote:
Hi Suenaga-san,

I think your fix looks reasonable. Although currently sort id is not being used, I'd replace 'SORT_DEFAULT' with 'SORTIDFROMLCID(userDefaultLCID)', which is more of a correct usage.

Naoto

On 1/28/20 11:51 PM, Yasumasa Suenaga wrote:
Hi all,

I checked how JDK detects default language on Windows, but I cannot understand the code
in below:

src/java.base/windows/native/libjava/java_props_md.c:
```
LCID userDefaultUILang = GetUserDefaultUILanguage();
```

According to MSDN [1], GetUserDefaultUILanguage() returns LANGID.
`userDefaultUILang` is used later as LCID. I think it is wrong.

I think we should be fix it as below.
If it is correct, I will file it to JBS and will send webrev.

```
diff --git a/src/java.base/windows/native/libjava/java_props_md.c b/src/java.base/windows/native/libjava/java_props_md.cindex 231f44ce2b..9068595dcf 100644
--- a/src/java.base/windows/native/libjava/java_props_md.c
+++ b/src/java.base/windows/native/libjava/java_props_md.c
@@ -641,7 +641,7 @@ GetJavaProperties(JNIEnv* env)
           */
          LCID userDefaultLCID = GetUserDefaultLCID();
          LCID systemDefaultLCID = GetSystemDefaultLCID();
-        LCID userDefaultUILang = GetUserDefaultUILanguage();
+        LANGID userDefaultUILang = GetUserDefaultUILanguage();

          {
              char * display_encoding;
@@ -655,8 +655,8 @@ GetJavaProperties(JNIEnv* env)
              // for the UI Language, if the "language" portion of those
              // two locales are the same.
              if (PRIMARYLANGID(LANGIDFROMLCID(userDefaultLCID)) ==
-                PRIMARYLANGID(LANGIDFROMLCID(userDefaultUILang))) {
-                userDefaultUILang = userDefaultLCID;
+                PRIMARYLANGID(userDefaultUILang)) {
+                userDefaultUILang = LANGIDFROMLCID(userDefaultLCID);
              }

              SetupI18nProps(userDefaultLCID,
@@ -665,7 +665,7 @@ GetJavaProperties(JNIEnv* env)
                             &sprops.format_country,
                             &sprops.format_variant,
                             &sprops.encoding);
-            SetupI18nProps(userDefaultUILang,
+            SetupI18nProps(MAKELCID(userDefaultUILang, SORT_DEFAULT),
                             &sprops.display_language,
                             &sprops.display_script,
                             &sprops.display_country,
```

Do you have any comments / suggestions?


Thanks,

Yasumasa


[1] https://docs.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-getuserdefaultuilanguage

Reply via email to