X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d300f25b340fdb05ff2f29434a758eca7230642..69659fd770f615210efac4b4fa741b3ad6223616:/src/common/list.cpp diff --git a/src/common/list.cpp b/src/common/list.cpp index 5a63e0c524..2c1fd19ad9 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -30,6 +30,7 @@ #ifndef WX_PRECOMP #include "wx/list.h" + #include "wx/crt.h" #endif #if !wxUSE_STL @@ -53,7 +54,7 @@ bool wxListKey::operator==(wxListKeyValue value) const // by not putting return here... case wxKEY_STRING: - return wxStrcmp(m_key.string, value.string) == 0; + return *m_key.string == *value.string; case wxKEY_INTEGER: return m_key.integer == value.integer; @@ -84,7 +85,7 @@ wxNodeBase::wxNodeBase(wxListBase *list, case wxKEY_STRING: // to be free()d later - m_key.string = wxStrdup(key.GetString()); + m_key.string = new wxString(key.GetString()); break; default: @@ -107,7 +108,7 @@ wxNodeBase::~wxNodeBase() { if ( m_list->m_keyType == wxKEY_STRING ) { - free(m_key.string); + delete m_key.string; } m_list->DetachNode(this); @@ -257,7 +258,7 @@ wxNodeBase *wxListBase::Append(long key, void *object) return AppendCommon(node); } -wxNodeBase *wxListBase::Append (const wxChar *key, void *object) +wxNodeBase *wxListBase::Append (const wxString& key, void *object) { wxCHECK_MSG( (m_keyType == wxKEY_STRING) || (m_keyType == wxKEY_NONE && m_count == 0),