From 37dd482c3b46f4bd248b4f4261b261375e60b9ea Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 1 Feb 2024 17:49:39 +0100 Subject: [PATCH] CorePlugin: Replace QSharedPointer with std::shared_ptr According to https://wiki.qt.io/Things_To_Look_Out_For_In_Reviews QSharedPointer impl is poor and it's going to be removed from Qt 7. Change-Id: Id64f1033ed0a640bb3f02821b3b5f99c7fa3987d Reviewed-by: Reviewed-by: hjk --- src/plugins/coreplugin/dialogs/externaltoolconfig.cpp | 2 +- src/plugins/coreplugin/externaltool.cpp | 4 ++-- src/plugins/coreplugin/externaltool.h | 7 +++---- src/plugins/coreplugin/externaltoolmanager.cpp | 5 ++--- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/plugins/coreplugin/dialogs/externaltoolconfig.cpp b/src/plugins/coreplugin/dialogs/externaltoolconfig.cpp index 6883e930a5c..1916a3ba259 100644 --- a/src/plugins/coreplugin/dialogs/externaltoolconfig.cpp +++ b/src/plugins/coreplugin/dialogs/externaltoolconfig.cpp @@ -322,7 +322,7 @@ void ExternalToolModel::revertTool(const QModelIndex &modelIndex) ExternalTool *tool = toolForIndex(modelIndex); QTC_ASSERT(tool, return); QTC_ASSERT(tool->preset() && !tool->preset()->filePath().isEmpty(), return); - auto resetTool = new ExternalTool(tool->preset().data()); + auto resetTool = new ExternalTool(tool->preset().get()); resetTool->setPreset(tool->preset()); (*tool) = (*resetTool); delete resetTool; diff --git a/src/plugins/coreplugin/externaltool.cpp b/src/plugins/coreplugin/externaltool.cpp index 7328e024dba..ea13e50c502 100644 --- a/src/plugins/coreplugin/externaltool.cpp +++ b/src/plugins/coreplugin/externaltool.cpp @@ -190,7 +190,7 @@ void ExternalTool::setFilePath(const FilePath &filePath) m_filePath = filePath; } -void ExternalTool::setPreset(QSharedPointer preset) +void ExternalTool::setPreset(std::shared_ptr preset) { m_presetTool = preset; } @@ -200,7 +200,7 @@ FilePath ExternalTool::filePath() const return m_filePath; } -QSharedPointer ExternalTool::preset() const +std::shared_ptr ExternalTool::preset() const { return m_presetTool; } diff --git a/src/plugins/coreplugin/externaltool.h b/src/plugins/coreplugin/externaltool.h index 2d26291fc1d..f3db72520bf 100644 --- a/src/plugins/coreplugin/externaltool.h +++ b/src/plugins/coreplugin/externaltool.h @@ -10,7 +10,6 @@ #include #include -#include #include #include @@ -51,10 +50,10 @@ public: Utils::EnvironmentItems environmentUserChanges() const; void setFilePath(const Utils::FilePath &filePath); - void setPreset(QSharedPointer preset); + void setPreset(std::shared_ptr preset); Utils::FilePath filePath() const; // all tools that are preset (changed or unchanged) have the original value here: - QSharedPointer preset() const; + std::shared_ptr preset() const; static ExternalTool *createFromXml(const QByteArray &xml, QString *errorMessage = nullptr, const QString &locale = {}); @@ -99,7 +98,7 @@ private: Utils::FilePath m_filePath; Utils::FilePath m_presetFileName; - QSharedPointer m_presetTool; + std::shared_ptr m_presetTool; }; class CORE_EXPORT ExternalToolRunner : public QObject diff --git a/src/plugins/coreplugin/externaltoolmanager.cpp b/src/plugins/coreplugin/externaltoolmanager.cpp index 84a237ba9e3..41f617a3391 100644 --- a/src/plugins/coreplugin/externaltoolmanager.cpp +++ b/src/plugins/coreplugin/externaltoolmanager.cpp @@ -6,7 +6,6 @@ #include "externaltool.h" #include "coreconstants.h" #include "coreplugintr.h" -#include "icontext.h" #include "icore.h" #include "messagemanager.h" #include "actionmanager/actionmanager.h" @@ -114,7 +113,7 @@ void ExternalToolManager::parseDirectory(const QString &directory, if (isPreset) { // preset that was changed ExternalTool *other = tools->value(tool->id()); - other->setPreset(QSharedPointer(tool)); + other->setPreset(std::shared_ptr(tool)); } else { qWarning() << Tr::tr("Error: External tool in %1 has duplicate id").arg(fileName); delete tool; @@ -123,7 +122,7 @@ void ExternalToolManager::parseDirectory(const QString &directory, } if (isPreset) { // preset that wasn't changed --> save original values - tool->setPreset(QSharedPointer(new ExternalTool(tool))); + tool->setPreset(std::shared_ptr(new ExternalTool(tool))); } tools->insert(tool->id(), tool); (*categoryMenus)[tool->displayCategory()].insert(tool->order(), tool);