]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
rename various gsock* files to sock* (except for MSW where this will be done later)
[wxWidgets.git] / src / common / intl.cpp
index a1f81ebec7464d3fd16d0dbf167aaff2f91eaf16..896533d2a4510627d9ead27c488e865832240b5b 100644 (file)
@@ -1177,6 +1177,9 @@ static wxString GetFullSearchPath(const wxString& lang)
 bool wxMsgCatalogFile::Load(const wxString& szDirPrefix, const wxString& szName,
                             wxPluralFormsCalculatorPtr& rPluralFormsCalculator)
 {
 bool wxMsgCatalogFile::Load(const wxString& szDirPrefix, const wxString& szName,
                             wxPluralFormsCalculatorPtr& rPluralFormsCalculator)
 {
+    wxCHECK_MSG( szDirPrefix.length() >= LEN_LANG, false,
+                    "invalid language specification" );
+
   wxString searchPath;
 
 #if wxUSE_FONTMAP
   wxString searchPath;
 
 #if wxUSE_FONTMAP
@@ -2570,6 +2573,16 @@ bool wxLocale::AddCatalog(const wxString& szDomain,
                           const wxString& msgIdCharset)
 
 {
                           const wxString& msgIdCharset)
 
 {
+    wxCHECK_MSG( IsOk(), false, "must initialize catalog first" );
+
+
+    // It is OK to not load catalog if the msgid language and m_language match,
+    // in which case we can directly display the texts embedded in program's
+    // source code:
+    if ( msgIdLanguage == m_language )
+        return true;
+
+
     wxMsgCatalog *pMsgCat = new wxMsgCatalog;
 
     if ( pMsgCat->Load(m_strShort, szDomain, msgIdCharset, m_bConvertEncoding) )
     wxMsgCatalog *pMsgCat = new wxMsgCatalog;
 
     if ( pMsgCat->Load(m_strShort, szDomain, msgIdCharset, m_bConvertEncoding) )
@@ -2586,12 +2599,6 @@ bool wxLocale::AddCatalog(const wxString& szDomain,
     delete pMsgCat;
 
 
     delete pMsgCat;
 
 
-    // It is OK to not load catalog if the msgid language and m_language match,
-    // in which case we can directly display the texts embedded in program's
-    // source code:
-    if ( msgIdLanguage == m_language )
-        return true;
-
     // If there's no exact match, we may still get partial match where the
     // (basic) language is same, but the country differs. For example, it's
     // permitted to use en_US strings from sources even if m_language is en_GB:
     // If there's no exact match, we may still get partial match where the
     // (basic) language is same, but the country differs. For example, it's
     // permitted to use en_US strings from sources even if m_language is en_GB: