+ m_macPrintSession = kPMNoReference ;
+
+ #if PM_USE_SESSION_APIS
+ OSStatus err;
+
+ err = PMCreateSession((PMPrintSession *)&m_macPrintSession) ;
+
+ if ( err == noErr )
+ {
+ err = PMCreatePageFormat((PMPageFormat *)&m_macPageFormat);
+
+ // Note that PMPageFormat is not session-specific, but calling
+ // PMSessionDefaultPageFormat assigns values specific to the printer
+ // associated with the current printing session.
+ if ((err == noErr) && (m_macPageFormat != kPMNoPageFormat))
+ {
+ err = PMSessionDefaultPageFormat((PMPrintSession)m_macPrintSession,
+ (PMPageFormat)m_macPageFormat);
+ }
+
+ err = PMCreatePrintSettings((PMPrintSettings *)&m_macPrintSettings);
+
+ // Note that PMPrintSettings is not session-specific, but calling
+ // PMSessionDefaultPrintSettings assigns values specific to the printer
+ // associated with the current printing session.
+ if ((err == noErr) && (m_macPrintSettings != kPMNoPrintSettings))
+ {
+ err = PMSessionDefaultPrintSettings((PMPrintSession)m_macPrintSession,
+ (PMPrintSettings)m_macPrintSettings);
+ }
+ }
+
+ #endif