diff --git a/src/mac/carbon/dcprint.cpp b/src/mac/carbon/dcprint.cpp index 58b2eb7a13..b554c67abb 100644 --- a/src/mac/carbon/dcprint.cpp +++ b/src/mac/carbon/dcprint.cpp @@ -92,10 +92,12 @@ wxMacCarbonPrinterDC::wxMacCarbonPrinterDC( wxPrintData* data ) #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 PMPrinter printer; PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); - PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; -#else - m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); + m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + if ( m_err ) + // fallback to the old API if there was an error #endif + m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); + m_ppi = wxSize(int(res.hRes), int(res.vRes)); } @@ -153,10 +155,12 @@ bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& WXUNUSED #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 PMPrinter printer; PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); - PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; -#else - m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); + m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + if ( m_err ) + // fallback to the old API if there was an error #endif + m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); + m_ppi = wxSize(int(res.hRes), int(res.vRes)); return true ; }