summaryrefslogtreecommitdiffstats
path: root/src/gui/dialogs/qpagesetupdialog_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/dialogs/qpagesetupdialog_mac.mm')
-rw-r--r--src/gui/dialogs/qpagesetupdialog_mac.mm5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/dialogs/qpagesetupdialog_mac.mm b/src/gui/dialogs/qpagesetupdialog_mac.mm
index 13ffa05..cfcde0f 100644
--- a/src/gui/dialogs/qpagesetupdialog_mac.mm
+++ b/src/gui/dialogs/qpagesetupdialog_mac.mm
@@ -232,6 +232,11 @@ void QPageSetupDialogPrivate::openCocoaPageLayout(Qt::WindowModality modality)
void QPageSetupDialogPrivate::closeCocoaPageLayout()
{
+ // NSPageLayout can change the session behind our back and then our
+ // d->ep->session object will become a dangling pointer. Update it
+ // based on the "current" session
+ ep->session = static_cast<PMPrintSession>([ep->printInfo PMPrintSession]);
+
[pageLayout release];
pageLayout = 0;
}