This is follow up for !1417, user language still could be set to unspecified due to later change to original MR to reset only the system locale.
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/ntdll/locale.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c index 7e1a2c96eaa..26302cfb376 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -193,13 +193,16 @@ static NTSTATUS get_dummy_preferred_ui_language( DWORD flags, LANGID lang, ULONG NTSTATUS status; ULONG len;
- FIXME("(0x%lx %p %p %p) returning a dummy value (current locale)\n", flags, count, buffer, size); + FIXME("(0x%lx %#x %p %p %p) returning a dummy value (current locale)\n", flags, lang, count, buffer, size);
if (flags & MUI_LANGUAGE_ID) swprintf( name, ARRAY_SIZE(name), L"%04lX", lang ); else { UNICODE_STRING str;
+ if (lang == LOCALE_CUSTOM_UNSPECIFIED) + NtQueryInstallUILanguage( &lang ); + str.Buffer = name; str.MaximumLength = sizeof(name); status = RtlLcidToLocaleName( lang, &str, 0, FALSE );