diff options
author | vng <viktor.govako@gmail.com> | 2011-06-06 01:24:02 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:19:14 +0300 |
commit | 5df3c4f3b8b7acf297e640b65f3d48974b788e9b (patch) | |
tree | 5b94285e112dcd656e9fc9eec842508b887f8c9a /platform | |
parent | 2a0ee15fca60e0bd953d0b40ca59b9a6b0f119b7 (diff) |
Fix msvc compilation error.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/preferred_languages.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/platform/preferred_languages.cpp b/platform/preferred_languages.cpp index f442966490..add03ab205 100644 --- a/platform/preferred_languages.cpp +++ b/platform/preferred_languages.cpp @@ -92,11 +92,13 @@ void SystemPreferredLanguages(vector<string> & languages) #elif defined(OMIM_OS_WINDOWS) // if we're on Vista or above, take list of preferred languages - typedef BOOL (WINAPI *PGETUSERPREFERREDUILANGUAGES)(DWORD, PULONG, PZZWSTR, PULONG); - PGETUSERPREFERREDUILANGUAGES p = (PGETUSERPREFERREDUILANGUAGES)GetProcAddress(GetModuleHandleA("Kernel32.dll"), - "GetUserPreferredUILanguages"); + typedef BOOL (WINAPI *PGETUSERPREFERREDUILANGUAGES)(DWORD, PULONG, PWCHAR, PULONG); + PGETUSERPREFERREDUILANGUAGES p = + reinterpret_cast<PGETUSERPREFERREDUILANGUAGES>( + GetProcAddress(GetModuleHandleA("Kernel32.dll"), "GetUserPreferredUILanguages")); if (p) - { // Vista or above, get buffer size first + { + // Vista or above, get buffer size first ULONG numLangs; WCHAR * buf = NULL; ULONG bufSize = 0; @@ -116,8 +118,10 @@ void SystemPreferredLanguages(vector<string> & languages) } delete[] buf; } + if (languages.empty()) - { // used mostly on WinXP + { + // used mostly on WinXP LANGID langId = GetUserDefaultLangID(); for (size_t i = 0; i < ARRAY_SIZE(gLocales); ++i) if (gLocales[i].m_code == langId) |