diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-07-23 15:48:41 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-25 05:43:35 +0200 |
commit | 03855decfcb4e05817424843564a4b66636bb347 (patch) | |
tree | aea425e2ce907b254de2f5530da1ca433e8a26cd /src/printsupport/dialogs/qprintdialog_mac.mm | |
parent | f2a611ce6cb0f86d9331641a804de6a507900db7 (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/qprintdialog_mac.mm')
-rw-r--r-- | src/printsupport/dialogs/qprintdialog_mac.mm | 4 |
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 { |