X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef1160a7dcc9065f5321a84c142cabcef9eb9df0..342a2719e0659ff621ad57111e1d81fd8332b1eb:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 9a2dc00536..bac6f22053 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -18,12 +18,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__BORLANDC__) && !defined(__WXDEBUG__) - // There's a bug in Borland's compiler that breaks wxLocale with -O2, - // so make sure that flag is not used for this file: - #pragma option -O1 -#endif - #ifdef __EMX__ // The following define is needed by Innotek's libc to // make the definition of struct localeconv available. @@ -1719,7 +1713,7 @@ bool wxLocale::Init(int language, int flags) { retloc = wxSetlocaleTryUTF(LC_ALL, localeAlt); if ( !retloc ) - retloc = wxSetlocaleTryUTF(LC_ALL, locale.Left(2)); + retloc = wxSetlocaleTryUTF(LC_ALL, localeAlt.Left(2)); } } @@ -2472,7 +2466,13 @@ wxFontEncoding wxLocale::GetSystemEncoding() // (a.k.a. US-ASCII) which is arguably a bug but keep it like this for // backwards compatibility and just take care to not return // wxFONTENCODING_DEFAULT from here as this surely doesn't make sense - if ( enc != wxFONTENCODING_MAX && enc != wxFONTENCODING_DEFAULT ) + if ( enc == wxFONTENCODING_DEFAULT ) + { + // we don't have wxFONTENCODING_ASCII, so use the closest one + return wxFONTENCODING_ISO8859_1; + } + + if ( enc != wxFONTENCODING_MAX ) { return enc; } @@ -2505,7 +2505,9 @@ const wxLanguageInfo *wxLocale::GetLanguageInfo(int lang) { if ( ms_languagesDB->Item(i).Language == lang ) { - return &ms_languagesDB->Item(i); + // We need to create a temporary here in order to make this work with BCC in final build mode + wxLanguageInfo *ptr = &ms_languagesDB->Item(i); + return ptr; } } @@ -2636,8 +2638,9 @@ const wxChar *wxLocale::GetString(const wxChar *szOrigString, wxLogTrace(TRACE_I18N, _T("string \"%s\"[%ld] not found in %slocale '%s'."), szOrigString, (long)n, - szDomain ? wxString::Format(_T("domain '%s' "), szDomain).c_str() - : _T(""), + szDomain + ? (const wxChar*)wxString::Format(_T("domain '%s' "), szDomain).c_str() + : _T(""), m_strLocale.c_str()); } #endif // __WXDEBUG__