]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
Fixed doubled-up key effects in wxTextCtrl by resetting m_lastMsg to 0
[wxWidgets.git] / src / common / intl.cpp
index 28ded97bb0051ff0fe1edadd0cef42778ebfc8ef..8954ce3384d15b203e40b4bd077025a9e7728902 100644 (file)
 // ----------------------------------------------------------------------------
 
 #ifdef __GNUG__
-#pragma implementation "intl.h"
+    #pragma implementation "intl.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
 // standard headers
 #include  <locale.h>
+#include  <ctype.h>
 
 // wxWindows
 #include "wx/defs.h"
 
 #include <stdlib.h>
 
+// ----------------------------------------------------------------------------
+// simple types
+// ----------------------------------------------------------------------------
+
+// FIXME adjust if necessary
+typedef unsigned char size_t8;
+typedef unsigned long size_t32;
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
@@ -68,8 +77,7 @@ void wxRestoreTransErrors();
 // get the current state
 bool wxIsLoggingTransErrors();
 
-// get the current locale object (## may be NULL!)
-extern wxLocale *wxSetLocale(wxLocale *pLocale);
+static wxLocale *wxSetLocale(wxLocale *pLocale);
 
 // ----------------------------------------------------------------------------
 // wxMsgCatalog corresponds to one disk-file message catalog.
@@ -112,21 +120,21 @@ private:
   struct wxMsgCatalogHeader
   {
     size_t32  magic,          // offset +00:  magic id
-            revision,       //        +04:  revision
-            numStrings;     //        +08:  number of strings in the file
+              revision,       //        +04:  revision
+              numStrings;     //        +08:  number of strings in the file
     size_t32  ofsOrigTable,   //        +0C:  start of original string table
-            ofsTransTable;  //        +10:  start of translated string table
+              ofsTransTable;  //        +10:  start of translated string table
     size_t32  nHashSize,      //        +14:  hash table size
-            ofsHashTable;   //        +18:  offset of hash table start
+              ofsHashTable;   //        +18:  offset of hash table start
   };
 
   // all data is stored here, NULL if no data loaded
   size_t8 *m_pData;
 
   // data description
-  size_t32            m_numStrings,   // number of strings in this domain
+  size_t32          m_numStrings,   // number of strings in this domain
                     m_nHashSize;    // number of entries in hash table
-  size_t32           *m_pHashTable;   // pointer to hash table
+  size_t32         *m_pHashTable;   // pointer to hash table
   wxMsgTableEntry  *m_pOrigTable,   // pointer to original   strings
                    *m_pTransTable;  //            translated
 
@@ -428,7 +436,7 @@ bool wxLocale::Init(const char *szName,
   if ( m_strShort.IsEmpty() ) {
     // FIXME I don't know how these 2 letter abbreviations are formed,
     //       this wild guess is surely wrong
-    m_strShort = wxToLower(szLocale[0]) + wxToLower(szLocale[1]);
+    m_strShort = tolower(szLocale[0]) + tolower(szLocale[1]);
   }
 
   // save the old locale to be able to restore it later
@@ -472,7 +480,8 @@ wxLocale::~wxLocale()
 const char *wxLocale::GetString(const char *szOrigString,
                                 const char *szDomain) const
 {
-  wxASSERT( szOrigString != NULL ); // would be pretty silly
+  if ( IsEmpty(szOrigString) )
+      return szDomain;
 
   const char *pszTrans = NULL;
 
@@ -592,7 +601,7 @@ bool wxIsLoggingTransErrors()
 // ------------------------------
 
 // the current locale object
-wxLocale *g_pLocale = NULL;
+static wxLocale *g_pLocale = NULL;
 
 wxLocale *wxGetLocale()
 {