From 9e50d47b5c75a1a7694fca4f6188f932ab558c37 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 5 Jun 2019 15:42:46 +0200 Subject: [PATCH] CMake: Use unique_ptr to manage builddirreader Change-Id: I1acac29bdfa4dfaaf79835636c3e3a4484e8183c Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/builddirmanager.cpp | 2 +- src/plugins/cmakeprojectmanager/builddirreader.cpp | 8 ++++---- src/plugins/cmakeprojectmanager/builddirreader.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/builddirmanager.cpp b/src/plugins/cmakeprojectmanager/builddirmanager.cpp index 490082d517c..1414718bc5e 100644 --- a/src/plugins/cmakeprojectmanager/builddirmanager.cpp +++ b/src/plugins/cmakeprojectmanager/builddirmanager.cpp @@ -108,7 +108,7 @@ void BuildDirManager::updateReaderType(const BuildDirParameters &p, std::function todo) { if (!m_reader || !m_reader->isCompatible(p)) { - m_reader.reset(BuildDirReader::createReader(p)); + m_reader = BuildDirReader::createReader(p); connect(m_reader.get(), &BuildDirReader::configurationStarted, this, &BuildDirManager::parsingStarted); connect(m_reader.get(), &BuildDirReader::dataAvailable, diff --git a/src/plugins/cmakeprojectmanager/builddirreader.cpp b/src/plugins/cmakeprojectmanager/builddirreader.cpp index 3cf74ad6f42..7a0a6246138 100644 --- a/src/plugins/cmakeprojectmanager/builddirreader.cpp +++ b/src/plugins/cmakeprojectmanager/builddirreader.cpp @@ -39,13 +39,13 @@ namespace Internal { // BuildDirReader: // -------------------------------------------------------------------- -BuildDirReader *BuildDirReader::createReader(const BuildDirParameters &p) +std::unique_ptr BuildDirReader::createReader(const BuildDirParameters &p) { CMakeTool *cmake = p.cmakeTool(); - QTC_ASSERT(p.isValid() && cmake, return nullptr); + QTC_ASSERT(p.isValid() && cmake, return {}); if (cmake->hasServerMode()) - return new ServerModeReader; - return new TeaLeafReader; + return std::make_unique(); + return std::make_unique(); } void BuildDirReader::setParameters(const BuildDirParameters &p) diff --git a/src/plugins/cmakeprojectmanager/builddirreader.h b/src/plugins/cmakeprojectmanager/builddirreader.h index 3e600cfe398..9c5e8c3e29a 100644 --- a/src/plugins/cmakeprojectmanager/builddirreader.h +++ b/src/plugins/cmakeprojectmanager/builddirreader.h @@ -52,7 +52,7 @@ class BuildDirReader : public QObject Q_OBJECT public: - static BuildDirReader *createReader(const BuildDirParameters &p); + static std::unique_ptr createReader(const BuildDirParameters &p); virtual void setParameters(const BuildDirParameters &p); virtual bool isCompatible(const BuildDirParameters &p) = 0;