]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/htmprint.cpp
fixed memory leak (m_selection wasn't deleted)
[wxWidgets.git] / src / html / htmprint.cpp
index 6f4912caeefb1e79e6b768651a91ab4beaa8a35b..606cbefdd7a076a3b376364b5f374ca27f3183da 100644 (file)
@@ -9,7 +9,7 @@
 /////////////////////////////////////////////////////////////////////////////
 
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "htmprint.h"
 #endif
 
@@ -169,8 +169,7 @@ wxHtmlPrintout::~wxHtmlPrintout()
 
 void wxHtmlPrintout::CleanUpStatics()
 {
-    m_Filters.DeleteContents(TRUE);
-    m_Filters.Clear();
+    WX_CLEAR_LIST(wxList, m_Filters);
 }
 
 // Adds input filter
@@ -179,13 +178,11 @@ void wxHtmlPrintout::AddFilter(wxHtmlFilter *filter)
     m_Filters.Append(filter);
 }
 
-bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
+void wxHtmlPrintout::OnPreparePrinting()
 {
     int pageWidth, pageHeight, mm_w, mm_h, scr_w, scr_h, dc_w, dc_h;
     float ppmm_h, ppmm_v;
 
-    if (!wxPrintout::OnBeginDocument(startPage, endPage)) return FALSE;
-
     GetPageSizePixels(&pageWidth, &pageHeight);
     GetPageSizeMM(&mm_w, &mm_h);
     ppmm_h = (float)pageWidth / mm_w;
@@ -237,6 +234,12 @@ bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
                           ));
     m_Renderer->SetHtmlText(m_Document, m_BasePath, m_BasePathIsDir);
     CountPages();
+}
+
+bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
+{
+    if (!wxPrintout::OnBeginDocument(startPage, endPage)) return FALSE;
+
     return TRUE;
 }
 
@@ -257,9 +260,9 @@ bool wxHtmlPrintout::OnPrintPage(int page)
 void wxHtmlPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo)
 {
     *minPage = 1;
-    *maxPage = wxHTML_PRINT_MAX_PAGES;
+    *maxPage = m_NumPages;
     *selPageFrom = 1;
-    *selPageTo = wxHTML_PRINT_MAX_PAGES;
+    *selPageTo = m_NumPages;
 }
 
 
@@ -293,7 +296,7 @@ void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
     wxHtmlFilterHTML defaultFilter;
     wxString doc;
 
-    wxNode* node = m_Filters.GetFirst();
+    wxList::compatibility_iterator node = m_Filters.GetFirst();
     while (node)
     {
         wxHtmlFilter *h = (wxHtmlFilter*) node->GetData();
@@ -378,8 +381,10 @@ void wxHtmlPrintout::RenderPage(wxDC *dc, int page)
 
     int ppiPrinterX, ppiPrinterY;
     GetPPIPrinter(&ppiPrinterX, &ppiPrinterY);
+    wxUnusedVar(ppiPrinterX);
     int ppiScreenX, ppiScreenY;
     GetPPIScreen(&ppiScreenX, &ppiScreenY);
+    wxUnusedVar(ppiScreenX);
 
     dc->SetUserScale((double)dc_w / (double)pageWidth, (double)dc_w / (double)pageWidth);