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)