]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/printwin.cpp
Found bug that skrewed up display wrt horizontal
[wxWidgets.git] / src / msw / printwin.cpp
index 0f05f726185ca818f3926fa2b8f207af0027acaa..f46993f88a36c37f4cad136064527cefc57be7e1 100644 (file)
@@ -66,10 +66,8 @@ LONG APIENTRY _EXPORT wxAbortProc(HDC hPr, int Code);
 // wxWin macros
 // ---------------------------------------------------------------------------
 
 // wxWin macros
 // ---------------------------------------------------------------------------
 
-#if !USE_SHARED_LIBRARY
     IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter, wxPrinterBase)
     IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase)
     IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter, wxPrinterBase)
     IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase)
-#endif
 
 // ===========================================================================
 // implementation
 
 // ===========================================================================
 // implementation
@@ -231,10 +229,10 @@ bool wxWindowsPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt
 
     printout->OnBeginPrinting();
 
 
     printout->OnBeginPrinting();
 
-    bool keepGoing = TRUE;
-
     int copyCount;
     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()))
         {
     {
         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;
             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;
             }
                 break;
             }
-            else
-            {
-                dc->StartPage();
-                printout->OnPrintPage(pn);
-                dc->EndPage();
-            }
+
+            dc->StartPage();
+            bool cont = printout->OnPrintPage(pn);
+            dc->EndPage();
+
+            if ( !cont )
+                break;
         }
         }
+
         printout->OnEndDocument();
     }
 
         printout->OnEndDocument();
     }