]> git.saurik.com Git - wxWidgets.git/commitdiff
moving GetPageInfo to later stage, closes #11494
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 18 Jan 2010 11:05:27 +0000 (11:05 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 18 Jan 2010 11:05:27 +0000 (11:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/core/printmac.cpp

index 34481098298bee6a415b0876c050530361aeb5b3..c496c1eeb1c1e118aa67437d41aada02f6329937 100644 (file)
@@ -553,27 +553,18 @@ bool wxMacPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt)
     sm_abortWindow = NULL;
 
     if (!printout)
+    {
+        sm_lastError = wxPRINTER_ERROR;
         return false;
-
+    }
+    
     printout->SetIsPreview(false);
 
-    // Get some parameters from the printout, if defined
-    int fromPage, toPage;
-    int minPage, maxPage;
-    printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
-
-    if (maxPage == 0) return false;
-
-    // Only set min and max, because from and to will be
-    // set by the user
-    m_printDialogData.SetMinPage(minPage);
-    m_printDialogData.SetMaxPage(maxPage);
-
     if (m_printDialogData.GetMinPage() < 1)
         m_printDialogData.SetMinPage(1);
     if (m_printDialogData.GetMaxPage() < 1)
         m_printDialogData.SetMaxPage(9999);
-
+    
     // Create a suitable device context
     wxPrinterDC *dc = NULL;
     if (prompt)
@@ -642,6 +633,22 @@ bool wxMacPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt)
 
     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;
+        return false;
+    }
+    
+    // Only set min and max, because from and to will be
+    // set by the user
+    m_printDialogData.SetMinPage(minPage);
+    m_printDialogData.SetMaxPage(maxPage);
+        
     printout->OnBeginPrinting();
 
     bool keepGoing = true;