From e5d1e9d2743a8cecc2f0ecb1df15ef7eadedf637 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 19 Feb 2020 10:13:33 +0100 Subject: [PATCH] Work around QHash::unite deprecation Change-Id: Ibf199b5e3f2ca99b7e0cafe20893a509d9eab906 Reviewed-by: Eike Ziller --- src/libs/utils/algorithm.h | 11 +++++++++++ src/plugins/autotest/qtest/qttestparser.cpp | 2 +- src/plugins/projectexplorer/sessionmodel.cpp | 6 ++++-- .../designercore/metainfo/itemlibraryinfo.cpp | 3 ++- src/plugins/qmljseditor/qmljssemantichighlighter.cpp | 2 +- src/plugins/qmlprofiler/flamegraphmodel.cpp | 6 ++++-- 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/libs/utils/algorithm.h b/src/libs/utils/algorithm.h index 035f5ca6659..ec4d6e90025 100644 --- a/src/libs/utils/algorithm.h +++ b/src/libs/utils/algorithm.h @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -1298,4 +1299,14 @@ QList toList(const QSet &set) #endif } +template +void addToHash(QHash *result, const QHash &additionalContents) +{ +#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0)) + result->unite(additionalContents); +#else + result->insert(additionalContents); +#endif +} + } // namespace Utils diff --git a/src/plugins/autotest/qtest/qttestparser.cpp b/src/plugins/autotest/qtest/qttestparser.cpp index 162fed7ec35..564be5df267 100644 --- a/src/plugins/autotest/qtest/qttestparser.cpp +++ b/src/plugins/autotest/qtest/qttestparser.cpp @@ -319,7 +319,7 @@ static bool handleQtTest(QFutureInterface futureInterface, QHash dataTags; for (const QString &file : files) - dataTags.unite(checkForDataTags(file, snapshot)); + Utils::addToHash(&dataTags, checkForDataTags(file, snapshot)); QtTestParseResult *parseResult = new QtTestParseResult(id); parseResult->itemType = TestTreeItem::TestCase; diff --git a/src/plugins/projectexplorer/sessionmodel.cpp b/src/plugins/projectexplorer/sessionmodel.cpp index 9e926941166..a535294f91d 100644 --- a/src/plugins/projectexplorer/sessionmodel.cpp +++ b/src/plugins/projectexplorer/sessionmodel.cpp @@ -165,7 +165,7 @@ QVariant SessionModel::data(const QModelIndex &index, int role) const QHash SessionModel::roleNames() const { - static QHash extraRoles{ + static const QHash extraRoles{ {Qt::DisplayRole, "sessionName"}, {DefaultSessionRole, "defaultSession"}, {ActiveSessionRole, "activeSession"}, @@ -173,7 +173,9 @@ QHash SessionModel::roleNames() const {ProjectsPathRole, "projectsPath"}, {ProjectsDisplayRole, "projectsName"} }; - return QAbstractTableModel::roleNames().unite(extraRoles); + QHash roles = QAbstractTableModel::roleNames(); + Utils::addToHash(&roles, extraRoles); + return roles; } void SessionModel::sort(int column, Qt::SortOrder order) diff --git a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp index f72513c84db..abd64928527 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp @@ -28,6 +28,7 @@ #include +#include #include namespace QmlDesigner { @@ -193,7 +194,7 @@ void ItemLibraryEntry::setRequiredImport(const QString &requiredImport) void ItemLibraryEntry::addHints(const QHash &hints) { - m_data->hints.unite(hints); + Utils::addToHash(&m_data->hints, hints); } void ItemLibraryEntry::addProperty(PropertyName &name, QString &type, QVariant &value) diff --git a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp index 034c1b13017..e3b169f46dd 100644 --- a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp +++ b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp @@ -610,7 +610,7 @@ void SemanticHighlighter::reportMessagesInfo(const QVector FlameGraphModel::roleNames() const { - static QHash extraRoles{ + static const QHash extraRoles{ {TypeIdRole, "typeId"}, {TypeRole, "type"}, {DurationRole, "duration"}, @@ -328,7 +328,9 @@ QHash FlameGraphModel::roleNames() const {AllocationsRole, "allocations" }, {MemoryRole, "memory" } }; - return QAbstractItemModel::roleNames().unite(extraRoles); + QHash roles = QAbstractItemModel::roleNames(); + Utils::addToHash(&roles, extraRoles); + return roles; } QmlProfilerModelManager *FlameGraphModel::modelManager() const