From c7ea60d1abd65d5c85fc5e690a28935c9b4a2dec Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 14 Jun 2017 10:41:42 -0700 Subject: QWizard: Fix null pointer dereference if no pixmap was set The pixmap may be set in QWizardPrivate::updateLayout() if there's a side widget or a watermark. If neither exists, then no pixmap is set and this would cause a crash. Task-number: QTBUG-61423 Change-Id: Ia53158e207a94bf49489fffd14c80dd93415dd0f Reviewed-by: Timur Pocheptsov --- src/widgets/dialogs/qwizard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/dialogs') diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index 432b6f1879..4d89cd9936 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -450,7 +450,7 @@ public: } QSize minimumSizeHint() const Q_DECL_OVERRIDE { - if (!pixmap() && !pixmap()->isNull()) + if (pixmap() && !pixmap()->isNull()) return pixmap()->size(); return QFrame::minimumSizeHint(); } -- cgit v1.2.3 From 3906043f05d2ffccede47f845561cca95548ac5a Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 9 Jul 2017 10:29:12 +0200 Subject: Convert features.fontdialog to QT_[REQUIRE_]CONFIG Change-Id: Iebc091ffd023595278fa177b7f205b6e0cd7ec52 Reviewed-by: Oswald Buddenhagen --- src/widgets/dialogs/dialogs.pri | 14 ++++++++------ src/widgets/dialogs/qdialog.cpp | 4 +++- src/widgets/dialogs/qfontdialog.cpp | 4 ---- src/widgets/dialogs/qfontdialog.h | 7 ++----- src/widgets/dialogs/qfontdialog_p.h | 4 +--- 5 files changed, 14 insertions(+), 19 deletions(-) (limited to 'src/widgets/dialogs') diff --git a/src/widgets/dialogs/dialogs.pri b/src/widgets/dialogs/dialogs.pri index c2625ec1f4..a6a6b2d352 100644 --- a/src/widgets/dialogs/dialogs.pri +++ b/src/widgets/dialogs/dialogs.pri @@ -1,12 +1,6 @@ # Qt dialogs module -HEADERS += \ - dialogs/qfontdialog.h \ - dialogs/qfontdialog_p.h - INCLUDEPATH += $$PWD -SOURCES += \ - dialogs/qfontdialog.cpp qtConfig(colordialog) { HEADERS += dialogs/qcolordialog.h @@ -51,6 +45,14 @@ qtConfig(filesystemmodel) { dialogs/qfileinfogatherer.cpp } +qtConfig(fontdialog) { + HEADERS += \ + dialogs/qfontdialog.h \ + dialogs/qfontdialog_p.h + + SOURCES += dialogs/qfontdialog.cpp +} + qtConfig(fscompleter) { HEADERS += dialogs/qfscompleter_p.h } diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index 7cb24d65fc..1cd587b78d 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -41,7 +41,9 @@ #if QT_CONFIG(colordialog) #include "qcolordialog.h" #endif +#if QT_CONFIG(fontdialog) #include "qfontdialog.h" +#endif #if QT_CONFIG(filedialog) #include "qfiledialog.h" #endif @@ -81,7 +83,7 @@ static inline int themeDialogType(const QDialog *dialog) if (qobject_cast(dialog)) return QPlatformTheme::ColorDialog; #endif -#ifndef QT_NO_FONTDIALOG +#if QT_CONFIG(fontdialog) if (qobject_cast(dialog)) return QPlatformTheme::FontDialog; #endif diff --git a/src/widgets/dialogs/qfontdialog.cpp b/src/widgets/dialogs/qfontdialog.cpp index b20a1449eb..587e31d8c5 100644 --- a/src/widgets/dialogs/qfontdialog.cpp +++ b/src/widgets/dialogs/qfontdialog.cpp @@ -40,8 +40,6 @@ #include "qwindowdefs.h" #include "qfontdialog.h" -#if QT_CONFIG(fontdialog) - #include "qfontdialog_p.h" #include @@ -1049,5 +1047,3 @@ QT_END_NAMESPACE #include "qfontdialog.moc" #include "moc_qfontdialog.cpp" - -#endif // QT_CONFIG(fontdialog) diff --git a/src/widgets/dialogs/qfontdialog.h b/src/widgets/dialogs/qfontdialog.h index da13a5ab99..3fb3997b85 100644 --- a/src/widgets/dialogs/qfontdialog.h +++ b/src/widgets/dialogs/qfontdialog.h @@ -44,12 +44,11 @@ #include #include -#ifndef QT_NO_FONTDIALOG - #include -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(fontdialog); +QT_BEGIN_NAMESPACE class QFontDialogPrivate; @@ -120,6 +119,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QFontDialog::FontDialogOptions) QT_END_NAMESPACE -#endif // QT_NO_FONTDIALOG - #endif // QFONTDIALOG_H diff --git a/src/widgets/dialogs/qfontdialog_p.h b/src/widgets/dialogs/qfontdialog_p.h index 033f5a2be8..ae923d94ed 100644 --- a/src/widgets/dialogs/qfontdialog_p.h +++ b/src/widgets/dialogs/qfontdialog_p.h @@ -59,7 +59,7 @@ #include #include "qsharedpointer.h" -#ifndef QT_NO_FONTDIALOG +QT_REQUIRE_CONFIG(fontdialog); QT_BEGIN_NAMESPACE @@ -149,8 +149,6 @@ private: virtual void helperPrepareShow(QPlatformDialogHelper *) Q_DECL_OVERRIDE; }; -#endif // QT_NO_FONTDIALOG - QT_END_NAMESPACE #endif // QFONTDIALOG_P_H -- cgit v1.2.3