diff --git a/include/wx/html/htmprint.h b/include/wx/html/htmprint.h
index e2462ceaf5..2efafaf29f 100644
--- a/include/wx/html/htmprint.h
+++ b/include/wx/html/htmprint.h
@@ -200,7 +200,7 @@ private:
float m_MarginTop, m_MarginBottom, m_MarginLeft, m_MarginRight, m_MarginSpace;
// list of HTML filters
- static wxList m_Filters;
+ static wxVector m_Filters;
wxDECLARE_NO_COPY_CLASS(wxHtmlPrintout);
};
diff --git a/src/html/htmprint.cpp b/src/html/htmprint.cpp
index 703fe6387a..d7d3e7059a 100644
--- a/src/html/htmprint.cpp
+++ b/src/html/htmprint.cpp
@@ -195,7 +195,7 @@ int wxHtmlDCRenderer::GetTotalHeight() const
//--------------------------------------------------------------------------------
-wxList wxHtmlPrintout::m_Filters;
+wxVector wxHtmlPrintout::m_Filters;
wxHtmlPrintout::wxHtmlPrintout(const wxString& title) : wxPrintout(title)
{
@@ -210,13 +210,16 @@ wxHtmlPrintout::wxHtmlPrintout(const wxString& title) : wxPrintout(title)
void wxHtmlPrintout::CleanUpStatics()
{
- WX_CLEAR_LIST(wxList, m_Filters);
+ for ( size_t n = 0; n < m_Filters.size(); ++n )
+ delete m_Filters[n];
+
+ m_Filters.clear();
}
// Adds input filter
void wxHtmlPrintout::AddFilter(wxHtmlFilter *filter)
{
- m_Filters.Append(filter);
+ m_Filters.push_back(filter);
}
bool
@@ -432,17 +435,15 @@ void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
wxHtmlFilterHTML defaultFilter;
wxString doc;
- wxList::compatibility_iterator node = m_Filters.GetFirst();
- while (node)
+ for ( size_t n = 0; n < m_Filters.size(); ++n )
{
- wxHtmlFilter *h = (wxHtmlFilter*) node->GetData();
+ wxHtmlFilter* const h = m_Filters[n];
if (h->CanRead(*ff))
{
doc = h->ReadFile(*ff);
done = true;
break;
}
- node = node->GetNext();
}
if (!done)