+ printout->OnPreparePrinting();
+
+ // Get some parameters from the printout, if defined
+ int fromPage, toPage;
+ int minPage, maxPage;
+ printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
+
+ if (maxPage == 0)
+ {
+ sm_lastError = wxPRINTER_ERROR;
+ wxEndBusyCursor();
+ return FALSE;
+ }
+
+ // Only set min and max, because from and to have been
+ // set by the user
+ m_printDialogData.SetMinPage(minPage);
+ m_printDialogData.SetMaxPage(maxPage);
+
+ int
+ pagesPerCopy = m_printDialogData.GetToPage()-m_printDialogData.GetFromPage()+1,
+ totalPages = pagesPerCopy * m_printDialogData.GetNoCopies(),
+ printedPages = 0;