From ba059bc9f908c0794b8749948539a0a8a747f907 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Tue, 23 Jul 2013 15:48:41 +0200 Subject: QPrintDialog OSX: don't crash if ApplicationModal and no parent Task-number: QTBUG-32464 (backported from qtbase/03855decfcb4e05817424843564a4b66636bb347) Change-Id: I12892798419b2efcf404f972930562d50d045ea3 Reviewed-by: Andy Shaw Reviewed-by: Shawn Rutledge --- src/gui/dialogs/qprintdialog_mac.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qprintdialog_mac.mm b/src/gui/dialogs/qprintdialog_mac.mm index c2c05c6..4cd8e85 100644 --- a/src/gui/dialogs/qprintdialog_mac.mm +++ b/src/gui/dialogs/qprintdialog_mac.mm @@ -313,7 +313,9 @@ void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality) [printPanel setOptions:macOptions]; - 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:ep->printInfo]; [delegate printPanelDidEnd:printPanel returnCode:rval contextInfo:this]; } else { -- cgit v0.12