Module: wine Branch: master Commit: 5bb421239771d759d3a2ce1e584def62a4abdaee URL: https://source.winehq.org/git/wine.git/?a=commit;h=5bb421239771d759d3a2ce1e5...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Feb 13 13:47:58 2019 +0100
kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/locale.c | 4 ++-- dlls/kernel32/tests/locale.c | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index 9f539dd..eedb0be 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -4814,7 +4814,7 @@ BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA pUILangEnumProc, DWORD dwFlags SetLastError(ERROR_INVALID_PARAMETER); return FALSE; } - if(dwFlags) { + if(dwFlags & ~MUI_LANGUAGE_ID) { SetLastError(ERROR_INVALID_FLAGS); return FALSE; } @@ -4843,7 +4843,7 @@ BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW pUILangEnumProc, DWORD dwFlags SetLastError(ERROR_INVALID_PARAMETER); return FALSE; } - if(dwFlags) { + if(dwFlags & ~MUI_LANGUAGE_ID) { SetLastError(ERROR_INVALID_FLAGS); return FALSE; } diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 0c05311..126b08c 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -3762,6 +3762,14 @@ static void test_EnumUILanguageA(void) SetLastError(ERROR_SUCCESS); ret = pEnumUILanguagesA(luilocale_proc2A, 0, 0); ok(ret, "Expected ret != 0, got %d, error %d\n", ret, GetLastError()); + ok(enumCount == 1, "enumCount = %u\n", enumCount); + + enumCount = 0; + SetLastError(ERROR_SUCCESS); + ret = pEnumUILanguagesA(luilocale_proc2A, MUI_LANGUAGE_ID, 0); + ok(ret || broken(!ret && GetLastError() == ERROR_INVALID_FLAGS), /* winxp */ + "Expected ret != 0, got %d, error %d\n", ret, GetLastError()); + if (ret) ok(enumCount == 1, "enumCount = %u\n", enumCount);
SetLastError(ERROR_SUCCESS); ret = pEnumUILanguagesA(NULL, 0, 0);