do not call setlocale() twice in wxLocale::IsAvailable() and in IMPLEMENT_STRTOX_L_START

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-04-12 15:51:43 +00:00
parent 4b37c1bf05
commit 375330ac40
2 changed files with 9 additions and 11 deletions

View File

@@ -2517,13 +2517,12 @@ bool wxLocale::IsAvailable(int lang)
#elif defined(__UNIX__)
// Test if setting the locale works, then set it back.
const char *oldLocale = wxSetlocale(LC_ALL, "");
const char *tmp = wxSetlocaleTryUTF8(LC_ALL, info->CanonicalName);
if ( !tmp )
const char *oldLocale = wxSetlocaleTryUTF8(LC_ALL, info->CanonicalName);
if ( !oldLocale )
{
// Some C libraries don't like xx_YY form and require xx only
tmp = wxSetlocaleTryUTF8(LC_ALL, ExtractLang(info->CanonicalName));
if ( !tmp )
oldLocale = wxSetlocaleTryUTF8(LC_ALL, ExtractLang(info->CanonicalName));
if ( !oldLocale )
return false;
}
// restore the original locale