]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xmlres.cpp
new file added
[wxWidgets.git] / src / xrc / xmlres.cpp
index e0ad8d8515392fea8ce3497c4d77526f36df337d..fe712f89d5539e653265002b7e83659f7e885add 100644 (file)
@@ -107,7 +107,7 @@ class wxXmlResourceDataRecords : public wxVector<wxXmlResourceDataRecord*>
     // this is a class so that it can be forward-declared
 };
 
     // this is a class so that it can be forward-declared
 };
 
-WX_DECLARE_HASH_SET_PTR(int, wxIntegerHash, wxIntegerEqual, wxHashSetInt);
+WX_DECLARE_HASH_SET_PTR(int, ::wxIntegerHash, ::wxIntegerEqual, wxHashSetInt);
 
 class wxIdRange // Holds data for a particular rangename
 {
 
 class wxIdRange // Holds data for a particular rangename
 {
@@ -1554,7 +1554,7 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
         // like "&File..." -- this is illegal in XML, so we use "_File..."):
         if ( *dt == amp_char )
         {
         // like "&File..." -- this is illegal in XML, so we use "_File..."):
         if ( *dt == amp_char )
         {
-            if ( *(++dt) == amp_char )
+            if ( dt+1 == str1.end() || *(++dt) == amp_char )
                 str2 << amp_char;
             else
                 str2 << wxT('&') << *dt;
                 str2 << amp_char;
             else
                 str2 << wxT('&') << *dt;
@@ -2493,7 +2493,7 @@ static inline unsigned XRCIdHash(const char *str_id)
 
 static void XRCID_Assign(const wxString& str_id, int value)
 {
 
 static void XRCID_Assign(const wxString& str_id, int value)
 {
-    wxScopedCharBuffer buf_id(str_id.mb_str());
+    const wxCharBuffer buf_id(str_id.mb_str());
     const unsigned index = XRCIdHash(buf_id);
 
 
     const unsigned index = XRCIdHash(buf_id);