]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/list.cpp
fixed bug with Broadcast() not waking up all threads (Pieter van der Meulen)
[wxWidgets.git] / src / common / list.cpp
index 9d88dea967b743fd963e0e9568cf2b7972619b66..0e326ee1f5638d2af008b8f2f32b7b6a9ae9eb0f 100644 (file)
@@ -165,17 +165,16 @@ void wxListBase::DoCopy(const wxListBase& list)
     wxASSERT_MSG( !list.m_destroy,
                   wxT("copying list which owns it's elements is a bad idea") );
 
-    m_count = list.m_count;
     m_destroy = list.m_destroy;
     m_keyType = list.m_keyType;
     m_nodeFirst =
     m_nodeLast = (wxNodeBase *) NULL;
 
     switch (m_keyType) {
-    
+
         case wxKEY_INTEGER:
             {
-                long key;                
+                long key;
                 for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() )
                 {
                     key = node->GetKeyInteger();
@@ -186,7 +185,7 @@ void wxListBase::DoCopy(const wxListBase& list)
 
         case wxKEY_STRING:
             {
-                const wxChar *key;                
+                const wxChar *key;
                 for ( wxNodeBase *node = list.GetFirst(); node; node = node->GetNext() )
                 {
                     key = node->GetKeyString();
@@ -204,6 +203,8 @@ void wxListBase::DoCopy(const wxListBase& list)
                 break;
             }
     }
+
+    wxASSERT_MSG( m_count == list.m_count, _T("logic error in wxList::DoCopy") );
 }
 
 wxListBase::~wxListBase()
@@ -578,6 +579,7 @@ void wxStringList::DoCopy(const wxStringList& other)
 // Makes new storage for the strings
 wxStringList::wxStringList (const wxChar *first, ...)
 {
+  DeleteContents(TRUE);
   if ( !first )
     return;