From: Stefan Csomor Date: Tue, 18 Dec 2007 15:34:30 +0000 (+0000) Subject: changing code that doesn't work on 10.5 as advertised X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c0f2dd1a543b8e868b60214d0adc0d77b2297783 changing code that doesn't work on 10.5 as advertised git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/dcprint.cpp b/src/mac/carbon/dcprint.cpp index 10c79a07ef..aacf643f19 100644 --- a/src/mac/carbon/dcprint.cpp +++ b/src/mac/carbon/dcprint.cpp @@ -84,13 +84,30 @@ wxMacCarbonPrinterDC::wxMacCarbonPrinterDC( wxPrintData* data ) m_maxY = wxCoord(rPage.bottom - rPage.top); PMResolution res; -#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); + +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 + if ( PMPrinterGetOutputResolution != NULL ) + { + PMPrinter printer; + m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); + if ( m_err == noErr ) + { + m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + if ( m_err == -9589 /* kPMKeyNotFound */ ) + { + m_err = noErr ; + res.hRes = res.vRes = 300; + } + } + } + else #endif + { +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 + m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); +#endif + } + m_ppi = wxSize(int(res.hRes), int(res.vRes)); } @@ -132,7 +149,14 @@ bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& WXUNUSED PMPrinter printer; m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); if ( m_err == noErr ) + { m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + if ( m_err == -9589 /* kPMKeyNotFound */ ) + { + m_err = noErr ; + res.hRes = res.vRes = 300; + } + } } else #endif