]> git.saurik.com Git - wxWidgets.git/commitdiff
corrected (?) wxStringList::Delete()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 12 Dec 1998 22:05:02 +0000 (22:05 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 12 Dec 1998 22:05:02 +0000 (22:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/list.h
src/common/list.cpp

index a65bb8d4856224fa2764a264521d1648303fdc71..75c3c01cbb92b1a8eb77777f6f9518725ff43d2f 100644 (file)
@@ -475,8 +475,7 @@ public:
     wxNode *Add(const char *s)
         { return (wxNode *)wxStringListBase::Append(copystring(s)); }
 
-    void Delete(const char *s)
-        { wxStringListBase::DeleteObject((char *)s); }
+    bool Delete(const char *s);
 
     char **ListToArray(bool new_copies = FALSE) const;
     bool Member(const char *s) const;
index 4eaf11949ecfb039fdc6c32d5f6de48e9ce66987..c6e0ebccb936e721ba533eb1f1b77a2fa0fc4765 100644 (file)
@@ -397,7 +397,6 @@ bool wxListBase::DeleteObject(void *object)
     return FALSE;
 }
 
-
 void wxListBase::Clear()
 {
     wxNodeBase *current = m_nodeFirst;
@@ -520,6 +519,23 @@ void wxStringListNode::DeleteData()
     delete [] (char *)GetData();
 }
 
+bool wxStringList::Delete(const char *s)
+{
+    wxStringListNode *current;
+
+    for ( current = GetFirst(); current; current = current->GetNext() )
+    {
+        if ( strcmp(current->GetData(), s) == 0 )
+        {
+            DeleteNode(current);
+            return TRUE;
+        }
+    }
+
+    // not found
+    return FALSE;
+}
+
 void wxStringList::DoCopy(const wxStringList& other)
 {
     wxASSERT( GetCount() == 0 );    // this list must be empty before copying!