summaryrefslogtreecommitdiffstats
path: root/src/printsupport
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_mac.mm8
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
index e387a58607..1dded4f905 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm
+++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
@@ -179,8 +179,12 @@ void QPageSetupDialog::setVisible(bool visible)
QDialog::setVisible(visible);
if (visible) {
- d->openCocoaPageLayout(parentWidget() ? Qt::WindowModal
- : Qt::ApplicationModal);
+ Qt::WindowModality modality = windowModality();
+ if (modality == Qt::NonModal) {
+ // NSPrintPanels can only be modal, so we must pick a type
+ modality = parentWidget() ? Qt::WindowModal : Qt::ApplicationModal;
+ }
+ d->openCocoaPageLayout(modality);
return;
} else {
if (d->pageLayout) {
diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm
index 8ea3c9a11d..e1d85eed59 100644
--- a/src/printsupport/dialogs/qprintdialog_mac.mm
+++ b/src/printsupport/dialogs/qprintdialog_mac.mm
@@ -296,8 +296,12 @@ void QPrintDialog::setVisible(bool visible)
QDialog::setVisible(visible);
if (visible) {
- d->openCocoaPrintPanel(parentWidget() ? Qt::WindowModal
- : Qt::ApplicationModal);
+ Qt::WindowModality modality = windowModality();
+ if (modality == Qt::NonModal) {
+ // NSPrintPanels can only be modal, so we must pick a type
+ modality = parentWidget() ? Qt::WindowModal : Qt::ApplicationModal;
+ }
+ d->openCocoaPrintPanel(modality);
return;
} else {
if (d->printPanel) {