From: Václav Slavík Date: Wed, 27 Oct 1999 23:32:54 +0000 (+0000) Subject: bugfix: wxList's copy ctor now works with keyed lists X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/ecf9e593f8f77a9105bfaf6c94aae1baa84020da bugfix: wxList's copy ctor now works with keyed lists git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/list.cpp b/src/common/list.cpp index e442699d80..9d88dea967 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -171,9 +171,38 @@ void wxListBase::DoCopy(const wxListBase& list) m_nodeFirst = m_nodeLast = (wxNodeBase *) NULL; - for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() ) - { - Append(node); + switch (m_keyType) { + + case wxKEY_INTEGER: + { + long key; + for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() ) + { + key = node->GetKeyInteger(); + Append(key, node->GetData()); + } + break; + } + + case wxKEY_STRING: + { + const wxChar *key; + for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() ) + { + key = node->GetKeyString(); + Append(key, node->GetData()); + } + break; + } + + default: + { + for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() ) + { + Append(node->GetData()); + } + break; + } } }