X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a17e237f4ada1196d7c0f0c23d4dface749c587a..342751763793b5cdad252d731aac0618d0674e5b:/src/msw/printwin.cpp diff --git a/src/msw/printwin.cpp b/src/msw/printwin.cpp index 0f05f72618..f46993f88a 100644 --- a/src/msw/printwin.cpp +++ b/src/msw/printwin.cpp @@ -66,10 +66,8 @@ LONG APIENTRY _EXPORT wxAbortProc(HDC hPr, int Code); // wxWin macros // --------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter, wxPrinterBase) IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase) -#endif // =========================================================================== // implementation @@ -231,10 +229,10 @@ bool wxWindowsPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt printout->OnBeginPrinting(); - bool keepGoing = TRUE; - int copyCount; - for (copyCount = 1; copyCount <= m_printDialogData.GetNoCopies(); copyCount ++) + for ( copyCount = 1; + copyCount <= m_printDialogData.GetNoCopies(); + copyCount++ ) { if (!printout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage())) { @@ -246,21 +244,23 @@ bool wxWindowsPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt break; int pn; - for (pn = m_printDialogData.GetFromPage(); keepGoing && (pn <= m_printDialogData.GetToPage()) && printout->HasPage(pn); - pn++) + for ( pn = m_printDialogData.GetFromPage(); + pn <= m_printDialogData.GetToPage() && printout->HasPage(pn); + pn++ ) { - if (sm_abortIt) + if ( sm_abortIt ) { - keepGoing = FALSE; break; } - else - { - dc->StartPage(); - printout->OnPrintPage(pn); - dc->EndPage(); - } + + dc->StartPage(); + bool cont = printout->OnPrintPage(pn); + dc->EndPage(); + + if ( !cont ) + break; } + printout->OnEndDocument(); }