]> git.saurik.com Git - wxWidgets.git/commitdiff
Compilation fix for STL build after ID range changes in XRC.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 7 Nov 2010 22:13:55 +0000 (22:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 7 Nov 2010 22:13:55 +0000 (22:13 +0000)
Fix compilation of the new code which relied on implicit conversion of
wxString to "const char *" which is unavailable when wxUSE_STL==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/xrc/xmlres.cpp

index c6683a31788afaa7528b4308bc4c344542829d98..f24b8455c6f7e8f23e4051172a24752b1267bfe7 100644 (file)
@@ -123,7 +123,7 @@ public:
     int Find(const wxString& rangename) const;
     // Removes, if it exists, an entry from the XRCID table. Used in id-ranges
     // to replace defunct or statically-initialised entries with current values
-    static void RemoveXRCIDEntry(const char *str_id);
+    static void RemoveXRCIDEntry(const wxString& idstr);
 
 protected:
     wxIdRange* FindRangeForItem(const wxXmlNode* node,
@@ -1185,9 +1185,11 @@ void wxIdRange::Finalise(const wxXmlNode* node)
 
         // Use the second parameter of GetXRCID to force it to take the value i
         wxXmlResource::GetXRCID(m_name + wxString::Format("[%i]", i-m_start), i);
-        wxLogTrace("xrcrange","integer = %i %s now returns %i", i,
-            m_name + wxString::Format("[%i]", i-m_start).mb_str(),
-                XRCID(m_name + wxString::Format("[%i]", i-m_start).mb_str()));
+        wxLogTrace("xrcrange",
+                   "integer = %i %s now returns %i",
+                   i,
+                   m_name + wxString::Format("[%i]", i-m_start),
+                   XRCID((m_name + wxString::Format("[%i]", i-m_start)).mb_str()));
     }
     // and these special ones
     wxIdRangeManager::RemoveXRCIDEntry(m_name + "[start]");
@@ -2627,8 +2629,10 @@ wxString wxXmlResource::FindXRCIDById(int numId)
 }
 
 /* static */
-void wxIdRangeManager::RemoveXRCIDEntry(const char *str_id)
+void wxIdRangeManager::RemoveXRCIDEntry(const wxString& idstr)
 {
+    const char *str_id = idstr.mb_str();
+
     const unsigned index = XRCIdHash(str_id);
 
     XRCID_record **p_previousrec = &XRCID_Records[index];