summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2013-07-23 15:48:41 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-25 05:43:35 +0200
commit03855decfcb4e05817424843564a4b66636bb347 (patch)
treeaea425e2ce907b254de2f5530da1ca433e8a26cd /src/printsupport/dialogs
parentf2a611ce6cb0f86d9331641a804de6a507900db7 (diff)
QPrintDialog OSX: don't crash if ApplicationModal and no parent
Task-number: QTBUG-32464 Change-Id: I5ee2741735255254c17555dfb977ce73941d3e22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
Diffstat (limited to 'src/printsupport/dialogs')
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm
index e76bb18626..9839268af4 100644
--- a/src/printsupport/dialogs/qprintdialog_mac.mm
+++ b/src/printsupport/dialogs/qprintdialog_mac.mm
@@ -198,7 +198,9 @@ void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality)
qApp->processEvents(QEventLoop::ExcludeUserInputEvents, QEventLoop::ExcludeSocketNotifiers);
QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) alloc] init];
- if (modality == Qt::ApplicationModal) {
+ if (modality == Qt::ApplicationModal || !q->parentWidget()) {
+ if (modality == Qt::NonModal)
+ qWarning("QPrintDialog is required to be modal on OS X");
int rval = [printPanel runModalWithPrintInfo:printInfo];
[delegate printPanelDidEnd:printPanel returnCode:rval contextInfo:q];
} else {