]> git.saurik.com Git - wxWidgets.git/blobdiff - src/richtext/richtextprint.cpp
fix memory leak while testing for correct Clone() implementation (closes #10304)
[wxWidgets.git] / src / richtext / richtextprint.cpp
index 8652db7c631609a86de6ccfee1503c76db10a8be..1082eabbf1d51b6a5a3565ec26f27bef9cd1c0d3 100644 (file)
@@ -50,7 +50,7 @@ void wxRichTextPrintout::OnPreparePrinting()
 {
     wxBusyCursor wait;
 
-    m_numPages = 0;
+    m_numPages = 1;
 
     m_pageBreaksStart.Clear();
     m_pageBreaksEnd.Clear();
@@ -127,11 +127,10 @@ void wxRichTextPrintout::OnPreparePrinting()
         }
 
         // Closing page break
-        if (m_pageBreaksStart.GetCount() > 0 && (m_pageBreaksEnd[m_pageBreaksEnd.GetCount()-1] < (GetRichTextBuffer()->GetRange().GetEnd()-1)))
+        if (m_pageBreaksStart.GetCount() == 0 || (m_pageBreaksEnd[m_pageBreaksEnd.GetCount()-1] < (GetRichTextBuffer()->GetRange().GetEnd()-1)))
         {
             m_pageBreaksStart.Add(lastStartPos);
             m_pageBreaksEnd.Add(GetRichTextBuffer()->GetRange().GetEnd());
-            m_numPages ++;
         }
     }
 }
@@ -190,7 +189,7 @@ void wxRichTextPrintout::RenderPage(wxDC *dc, int page)
             dc->SetTextForeground(m_headerFooterData.GetTextColour());
         else
             dc->SetTextForeground(*wxBLACK);
-        dc->SetBackgroundMode(wxTRANSPARENT);
+        dc->SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
 
         // Draw header, if any    
         wxRichTextOddEvenPage oddEven = ((page % 2) == 1) ? wxRICHTEXT_PAGE_ODD : wxRICHTEXT_PAGE_EVEN;
@@ -439,6 +438,17 @@ wxPrintData *wxRichTextPrinting::GetPrintData()
     return m_printData;
 }
 
+/// Set print and page setup data
+void wxRichTextPrinting::SetPrintData(const wxPrintData& printData)
+{
+    (*GetPrintData()) = printData;
+}
+
+void wxRichTextPrinting::SetPageSetupData(const wxPageSetupData& pageSetupData)
+{
+    (*GetPageSetupData()) = pageSetupData;
+}
+
 /// Set the rich text buffer pointer, deleting the existing object if present
 void wxRichTextPrinting::SetRichTextBufferPrinting(wxRichTextBuffer* buf)
 {