From: Vadim Zeitlin Date: Sun, 7 Nov 2010 22:13:55 +0000 (+0000) Subject: Compilation fix for STL build after ID range changes in XRC. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/e7cad4b7a19ff6aafc2e84a6e9099a1742085958?ds=inline Compilation fix for STL build after ID range changes in XRC. 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 --- diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index c6683a3178..f24b8455c6 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -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];