From 5df3c4f3b8b7acf297e640b65f3d48974b788e9b Mon Sep 17 00:00:00 2001 From: vng Date: Mon, 6 Jun 2011 00:24:02 +0300 Subject: Fix msvc compilation error. --- platform/preferred_languages.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'platform/preferred_languages.cpp') 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 & 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( + 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 & 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) -- cgit v1.2.3