]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/printmac.cpp
non-unicode fix
[wxWidgets.git] / src / mac / printmac.cpp
index b7c8915190776a12a2bab1abb2ede1921f74b4b9..e95c44b3d090851f2e6b5dea6b0c93c60bc100ef 100644 (file)
@@ -144,7 +144,7 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintData* data )
     // collate cannot be set
 #if 0 // not yet tested
     if ( m_printerName.Length() > 0 )
-        PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName ) ) ;
+        PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName , wxFont::GetDefaultEncoding() ) ) ;
 #endif
     PMColorMode color ;
     PMGetColorMode(  (PMPrintSettings) m_macPrintSettings, &color ) ;
@@ -261,7 +261,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data )
     PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ;
     PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ;
     PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ;
-    PMSetLastPage( m_macPrintSettings , data->GetToPage() , false ) ;
+
+    int toPage = data->GetToPage();
+    if (toPage < 1)
+        toPage = data->GetFromPage();
+    PMSetLastPage( m_macPrintSettings , toPage , false ) ;
 }
 
 void wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d )
@@ -443,8 +447,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data )
 
 void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* data )
 {
+    int toPage = data->GetToPage();
+    if (toPage < 1)
+        toPage = data->GetFromPage();
     (**m_macPrintSettings).prJob.iFstPage = data->GetFromPage() ;
-    (**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ;
+    (**m_macPrintSettings).prJob.iLstPage = toPage;
 }
 
 void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data )
@@ -548,7 +555,7 @@ bool wxMacPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt)
         if (dialog.ShowModal() == wxID_OK)
         {
             dc = dialog.GetPrintDC();
-            m_printDialogData = dialog.GetPrintData();
+            m_printDialogData = dialog.GetPrintDialogData();
         }
     }
     else