summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Klapetek <mklapetek@kde.org>2013-09-19 21:49:52 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-20 00:50:36 +0200
commita6f7ba0f8bb6327410421d95282bf7250d5d532f (patch)
tree774976856007ce127c389f227731defe41862879 /src
parent00e50fb97c3d9b91193fef50d63b430e4648ac52 (diff)
Check if Print Properties dialog was shown before accessing it
Prevents a crash in case the user did not open the properties dialog, in which case QUnixPrintWidgetPrivate::propertiesDialog is null. Change-Id: I43c8c6ab90053757835bbf41d6167204d42efcef Reviewed-by: John Layt <jlayt@kde.org>
Diffstat (limited to 'src')
-rw-r--r--src/printsupport/dialogs/qprintdialog_unix.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp
index 882d76a041..5e9e6fcc99 100644
--- a/src/printsupport/dialogs/qprintdialog_unix.cpp
+++ b/src/printsupport/dialogs/qprintdialog_unix.cpp
@@ -864,16 +864,18 @@ bool QUnixPrintWidgetPrivate::checkFields()
}
#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
- QCUPSSupport::PagesPerSheet pagesPerSheet = propertiesDialog->widget.pageSetup->widget.pagesPerSheetCombo->currentData().value<QCUPSSupport::PagesPerSheet>();
+ if (propertiesDialogShown) {
+ QCUPSSupport::PagesPerSheet pagesPerSheet = propertiesDialog->widget.pageSetup->widget.pagesPerSheetCombo->currentData().value<QCUPSSupport::PagesPerSheet>();
- QCUPSSupport::PageSet pageSet = optionsPane->options.pageSetCombo->currentData().value<QCUPSSupport::PageSet>();
+ QCUPSSupport::PageSet pageSet = optionsPane->options.pageSetCombo->currentData().value<QCUPSSupport::PageSet>();
- if (propertiesDialogShown
- && pagesPerSheet != QCUPSSupport::OnePagePerSheet
- && pageSet != QCUPSSupport::AllPages) {
- QMessageBox::warning(q, q->windowTitle(),
- QPrintDialog::tr("Options 'Pages Per Sheet' and 'Page Set' cannot be used together.\nPlease turn one of those options off."));
- return false;
+
+ if (pagesPerSheet != QCUPSSupport::OnePagePerSheet
+ && pageSet != QCUPSSupport::AllPages) {
+ QMessageBox::warning(q, q->windowTitle(),
+ QPrintDialog::tr("Options 'Pages Per Sheet' and 'Page Set' cannot be used together.\nPlease turn one of those options off."));
+ return false;
+ }
}
#endif