]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
use wxIsEmpty() instead of deprecated IsEmpty()
[wxWidgets.git] / src / common / intl.cpp
index 9a2dc0053608b52307b3002ac07ae10cca26ffe2..bac6f220533070bf5c94ec0d6b5fafa893ba934e 100644 (file)
 // 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__