Readd wxStringList::Add when wxUSE_STL=1, for compatibility with

wxUSE_STL=0. Fixed wxPathList double-free reported by Devid Elliot.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2003-07-12 20:34:34 +00:00
parent 8f520a56b7
commit fd82f4e6e9
2 changed files with 15 additions and 1 deletions

View File

@@ -1053,6 +1053,20 @@ WX_DECLARE_LIST_XO(wxString, wxStringListBase, class WXDLLEXPORT);
class WXDLLEXPORT wxStringList : public wxStringListBase
{
public:
compatibility_iterator Append(wxChar* s)
{ wxString tmp = s; delete[] s; return wxStringListBase::Append(tmp); }
compatibility_iterator Insert(wxChar* s)
{ wxString tmp = s; delete[] s; return wxStringListBase::Insert(tmp); }
compatibility_iterator Insert(size_t pos, wxChar* s)
{
wxString tmp = s;
delete[] s;
return wxStringListBase::Insert(pos, tmp);
}
compatibility_iterator Add(const wxChar* s)
{ push_back(s); return GetLast(); }
compatibility_iterator Prepend(const wxChar* s)
{ push_front(s); return GetFirst(); }
};
#endif // wxUSE_STL

View File

@@ -255,7 +255,7 @@ static inline wxChar* MYcopystring(const wxChar* s)
void wxPathList::Add (const wxString& path)
{
wxStringList::Append (WXSTRINGCAST path);
wxStringList::Add (WXSTRINGCAST path);
}
// Add paths e.g. from the PATH environment variable