diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 8273ba3fe14..511b158b917 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -91,10 +91,13 @@ android|uikit|winrt: \ # Prevent warnings about object files without any symbols macos: CONFIG += no_warn_empty_obj_files +# Make sure the doc features are loaded last since they depend on other +# features setting up things like includepaths to find everything. +CONFIG = prepare_docs qt_docs_targets $$CONFIG + CONFIG += \ utf8_source \ create_prl link_prl \ - prepare_docs qt_docs_targets \ no_private_qt_headers_warning QTDIR_build \ qt_example_installs \ # Qt modules get compiled without exceptions enabled by default. diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index ffd470efcd0..37258cc66fd 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -406,16 +406,16 @@ public: static QList fromVector(const QVector &vector); QVector toVector() const; -#if QT_VERSION < QT_VERSION_CHECK(6,0,0) - Q_DECL_DEPRECATED_X("Use QList(set.begin(), set.end()) instead.") +#if QT_DEPRECATED_SINCE(5, 14) && QT_VERSION < QT_VERSION_CHECK(6,0,0) + QT_DEPRECATED_X("Use QList(set.begin(), set.end()) instead.") static QList fromSet(const QSet &set); - Q_DECL_DEPRECATED_X("Use QSet(list.begin(), list.end()) instead.") + QT_DEPRECATED_X("Use QSet(list.begin(), list.end()) instead.") QSet toSet() const; - Q_DECL_DEPRECATED_X("Use QList(list.begin(), list.end()) instead.") + QT_DEPRECATED_X("Use QList(list.begin(), list.end()) instead.") static inline QList fromStdList(const std::list &list) { return QList(list.begin(), list.end()); } - Q_DECL_DEPRECATED_X("Use std::list(list.begin(), list.end()) instead.") + QT_DEPRECATED_X("Use std::list(list.begin(), list.end()) instead.") inline std::list toStdList() const { return std::list(begin(), end()); } #endif diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h index 879e2176f2f..5fdcde3c008 100644 --- a/src/corelib/tools/qset.h +++ b/src/corelib/tools/qset.h @@ -260,10 +260,10 @@ public: { QSet result = *this; result -= other; return result; } QList values() const; -#if QT_VERSION < QT_VERSION_CHECK(6,0,0) - Q_DECL_DEPRECATED_X("Use values() instead.") +#if QT_DEPRECATED_SINCE(5, 14) && QT_VERSION < QT_VERSION_CHECK(6,0,0) + QT_DEPRECATED_X("Use values() instead.") QList toList() const { return values(); } - Q_DECL_DEPRECATED_X("Use QSet(list.begin(), list.end()) instead.") + QT_DEPRECATED_X("Use QSet(list.begin(), list.end()) instead.") static QSet fromList(const QList &list); #endif @@ -397,7 +397,7 @@ Q_OUTOFLINE_TEMPLATE QList QSet::values() const return result; } -#if QT_VERSION < QT_VERSION_CHECK(6,0,0) +#if QT_DEPRECATED_SINCE(5, 14) && QT_VERSION < QT_VERSION_CHECK(6,0,0) template Q_OUTOFLINE_TEMPLATE QSet QList::toSet() const { diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index 62fbdb4a2ad..b8b9b7da40b 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -301,11 +301,11 @@ public: static QVector fromList(const QList &list); QList toList() const; -#if QT_VERSION < QT_VERSION_CHECK(6,0,0) - Q_DECL_DEPRECATED_X("Use QVector(vector.begin(), vector.end()) instead.") +#if QT_DEPRECATED_SINCE(5, 14) && QT_VERSION < QT_VERSION_CHECK(6,0,0) + QT_DEPRECATED_X("Use QVector(vector.begin(), vector.end()) instead.") static inline QVector fromStdVector(const std::vector &vector) { return QVector(vector.begin(), vector.end()); } - Q_DECL_DEPRECATED_X("Use std::vector(vector.begin(), vector.end()) instead.") + QT_DEPRECATED_X("Use std::vector(vector.begin(), vector.end()) instead.") inline std::vector toStdVector() const { return std::vector(d->begin(), d->end()); } #endif diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 2da967485b6..691a1692698 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -385,7 +385,7 @@ void QWidget::setAutoFillBackground(bool enabled) Every widget's constructor accepts one or two standard arguments: \list 1 - \li \c{QWidget *parent = \nullptr} is the parent of the new widget. + \li \c{QWidget *parent = nullptr} is the parent of the new widget. If it is \nullptr (the default), the new widget will be a window. If not, it will be a child of \e parent, and be constrained by \e parent's geometry (unless you specify Qt::Window as window flag). diff --git a/src/widgets/widgets/qlcdnumber.cpp b/src/widgets/widgets/qlcdnumber.cpp index 3ddada4514e..4d299d87399 100644 --- a/src/widgets/widgets/qlcdnumber.cpp +++ b/src/widgets/widgets/qlcdnumber.cpp @@ -713,7 +713,7 @@ void QLCDNumber::paintEvent(QPaintEvent *) void QLCDNumberPrivate::internalSetString(const QString& s) { Q_Q(QLCDNumber); - QString buffer; + QString buffer(ndigits, QChar()); int i; int len = s.length(); QBitArray newPoints(ndigits); diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp index 0f07ba4bb2e..57bab115bbd 100644 --- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp +++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp @@ -2331,14 +2331,15 @@ void tst_QSettings::testRegistry32And64Bit() void tst_QSettings::trailingWhitespace() { + const QString path = settingsPath("trailingWhitespace"); { - QSettings s("tst_QSettings_trailingWhitespace"); + QSettings s(path, QSettings::IniFormat); s.setValue("trailingSpace", "x "); s.setValue("trailingTab", "x\t"); s.setValue("trailingNewline", "x\n"); } { - QSettings s("tst_QSettings_trailingWhitespace"); + QSettings s(path, QSettings::IniFormat); QCOMPARE(s.value("trailingSpace").toString(), QLatin1String("x ")); QCOMPARE(s.value("trailingTab").toString(), QLatin1String("x\t")); QCOMPARE(s.value("trailingNewline").toString(), QLatin1String("x\n")); diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST index cf35491ec01..70ea8433a6d 100644 --- a/tests/auto/widgets/kernel/qwidget/BLACKLIST +++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST @@ -8,11 +8,6 @@ b2qt opensuse-42.3 [restoreVersion1Geometry] ubuntu-16.04 -[updateWhileMinimized] -ubuntu-18.04 -rhel-7.4 -ubuntu-16.04 -rhel-7.6 [focusProxyAndInputMethods] rhel-7.6 opensuse-leap diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index f0c490b598e..1f2060942b0 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -8074,7 +8074,17 @@ void tst_QWidget::updateWhileMinimized() QTest::qWait(10); if (m_platform == QStringLiteral("winrt")) QEXPECT_FAIL("", "WinRT: This fails. QTBUG-68297.", Abort); - QCOMPARE(widget.numPaintEvents, 0); + int count = 0; + // mutter/GNOME Shell doesn't unmap when minimizing window. + // More details at https://gitlab.gnome.org/GNOME/mutter/issues/185 + if (m_platform == QStringLiteral("xcb")) { + const QString desktop = qgetenv("XDG_CURRENT_DESKTOP"); + qDebug() << "xcb: XDG_CURRENT_DESKTOP=" << desktop; + if (desktop == QStringLiteral("ubuntu:GNOME") + || desktop == QStringLiteral("GNOME-Classic:GNOME")) + count = 1; + } + QCOMPARE(widget.numPaintEvents, count); // Restore window. widget.showNormal();