X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a17e237f4ada1196d7c0f0c23d4dface749c587a..1f59726ed958e35177c608ff96c07f971184ae6b:/src/msw/printwin.cpp diff --git a/src/msw/printwin.cpp b/src/msw/printwin.cpp index 0f05f72618..c9ee2c7368 100644 --- a/src/msw/printwin.cpp +++ b/src/msw/printwin.cpp @@ -231,10 +231,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 +246,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(); }