[PATCH] kernel32: Check for LOCALE_NOUSEROVERRIDE for neutral locales.

Matej Špindler spindler.matej at gmail.com
Tue May 22 10:15:01 CDT 2018


Fixes https://bugs.winehq.org/show_bug.cgi?id=45220

Signed-off-by: Matej Špindler <spindler.matej at gmail.com>
---
 dlls/kernel32/locale.c       | 1 +
 dlls/kernel32/tests/locale.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 5a6ff35b75..02a587f2f3 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -1823,6 +1823,7 @@ INT WINAPI GetLocaleInfoEx(LPCWSTR locale, LCTYPE info, LPWSTR buffer, INT len)
             if (len) strcpyW(buffer, locale);
             return 3;
         case LOCALE_SPARENT:
+        case LOCALE_SPARENT | LOCALE_NOUSEROVERRIDE:
             if (len) buffer[0] = 0;
             return 1;
         }
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 91a870362c..791f015766 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -4499,6 +4499,10 @@ static void test_GetLocaleInfoEx(void)
         ok(ret == 1, "got %d\n", ret);
         ok(!bufferW[0], "got %s\n", wine_dbgstr_w(bufferW));
 
+        ret = pGetLocaleInfoEx(enW, LOCALE_SPARENT | LOCALE_NOUSEROVERRIDE, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+        ok(ret == 1, "got %d\n", ret);
+        ok(!bufferW[0], "got %s\n", wine_dbgstr_w(bufferW));
+
         ret = pGetLocaleInfoEx(enW, LOCALE_SCOUNTRY, bufferW, sizeof(bufferW)/sizeof(WCHAR));
         ok(ret == lstrlenW(bufferW)+1, "got %d\n", ret);
         if ((PRIMARYLANGID(LANGIDFROMLCID(GetSystemDefaultLCID())) != LANG_ENGLISH) ||
-- 
2.17.0




More information about the wine-devel mailing list