From 6c4ebcda60699d6ab8f297d6b4decc3e553e5327 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 7 Apr 2007 09:25:07 +0000 Subject: [PATCH] STL build compilation fix git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/string.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/common/string.cpp b/src/common/string.cpp index 410039b0bc..aa045dc5ff 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -131,7 +131,7 @@ wxSTD ostream& operator<<(wxSTD ostream& os, const wxWCharBuffer& str) template static inline void DeleteStringFromConversionCache(T& hash, const wxString *s) { - typename T::iterator i = hash.find(s); + typename T::iterator i = hash.find(wxConstCast(s, wxString)); if ( i != hash.end() ) { free(i->second); @@ -140,6 +140,8 @@ static inline void DeleteStringFromConversionCache(T& hash, const wxString *s) } #if wxUSE_UNICODE +// NB: non-STL implementation doesn't compile with "const wxString*" key type, +// so we have to use wxString* here and const-cast when used WX_DECLARE_HASH_MAP(wxString*, char*, wxPointerHash, wxPointerEqual, wxStringCharConversionCache); static wxStringCharConversionCache gs_stringsCharCache; @@ -150,7 +152,8 @@ const char* wxCStrData::AsChar() const DeleteStringFromConversionCache(gs_stringsCharCache, m_str); // convert the string and keep it: - const char *s = gs_stringsCharCache[m_str] = m_str->mb_str().release(); + const char *s = gs_stringsCharCache[wxConstCast(m_str, wxString)] = + m_str->mb_str().release(); return s + m_offset; } @@ -167,7 +170,8 @@ const wchar_t* wxCStrData::AsWChar() const DeleteStringFromConversionCache(gs_stringsWCharCache, m_str); // convert the string and keep it: - const wchar_t *s = gs_stringsWCharCache[m_str] = m_str->wc_str().release(); + const wchar_t *s = gs_stringsWCharCache[wxConstCast(m_str, wxString)] = + m_str->wc_str().release(); return s + m_offset; } -- 2.45.2