]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/prntbase.cpp
Corrected wxImage for use with mono wxBitmaps,
[wxWidgets.git] / src / common / prntbase.cpp
index 9c1c91ee2e3dd74937a70c034199bdb1876b250b..e363bd6b7629c5bc9cbfd419af6bc7f74b942496 100644 (file)
@@ -409,7 +409,7 @@ void wxPreviewControlBar::SetZoomControl(int zoom)
 int wxPreviewControlBar::GetZoomControl()
 {
     wxChar buf[20];
 int wxPreviewControlBar::GetZoomControl()
 {
     wxChar buf[20];
-    if (m_zoomControl && (m_zoomControl->GetStringSelection() != _T("")))
+    if (m_zoomControl && (m_zoomControl->GetStringSelection() != wxT("")))
     {
         wxStrcpy(buf, m_zoomControl->GetStringSelection());
         buf[wxStrlen(buf) - 1] = 0;
     {
         wxStrcpy(buf, m_zoomControl->GetStringSelection());
         buf[wxStrlen(buf) - 1] = 0;
@@ -563,8 +563,10 @@ void wxPrintPreviewBase::Init(wxPrintout *printout,
     m_leftMargin = 40;
     m_pageWidth = 0;
     m_pageHeight = 0;
     m_leftMargin = 40;
     m_pageWidth = 0;
     m_pageHeight = 0;
+    m_printingPrepared = FALSE;
 
 
-    printout->OnPreparePrinting();
+    // Too soon! Moved to RenderPage.
+    // printout->OnPreparePrinting();
 
     // Get some parameters from the printout, if defined
     int selFrom, selTo;
 
     // Get some parameters from the printout, if defined
     int selFrom, selTo;
@@ -678,6 +680,13 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
     m_previewPrintout->SetDC(&memoryDC);
     m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
 
     m_previewPrintout->SetDC(&memoryDC);
     m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
 
+    // Need to delay OnPreparePrinting until here, so we have enough information.
+    if (!m_printingPrepared)
+    {
+        m_previewPrintout->OnPreparePrinting();
+        m_printingPrepared = TRUE;
+    }
+
     m_previewPrintout->OnBeginPrinting();
 
     if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))
     m_previewPrintout->OnBeginPrinting();
 
     if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))