diff options
author | Tobias Hunger <[email protected]> | 2019-08-06 14:46:37 +0200 |
---|---|---|
committer | Tobias Hunger <[email protected]> | 2019-08-09 12:45:29 +0000 |
commit | 09530d6dcc0fdbdf27d04c63149eb285e122d9dc (patch) | |
tree | 5f33e1bd1d04fb258251f74057f24ab96fe6fdd7 /src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp | |
parent | 8868989d5c72cd57e5068481198ffa0af4cb4bb0 (diff) |
ProjectExplorer: Use RAII pattern for parsing start/stop signalling
Change-Id: I13de537140f265db3e3d0ab1cd924d6897cd90c8
Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp')
-rw-r--r-- | src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp index d75bf7be404..6c913118985 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp @@ -43,14 +43,18 @@ using namespace Utils; namespace CompilationDatabaseProjectManager { namespace Internal { -CompilationDbParser::CompilationDbParser(const QString &projectName, const FilePath &projectPath, - const FilePath &rootPath, MimeBinaryCache &mimeBinaryCache, +CompilationDbParser::CompilationDbParser(const QString &projectName, + const FilePath &projectPath, + const FilePath &rootPath, + MimeBinaryCache &mimeBinaryCache, + ProjectExplorer::Project::ParseGuard &&guard, QObject *parent) - : QObject(parent), - m_projectName(projectName), - m_projectFilePath(projectPath), - m_rootPath(rootPath), - m_mimeBinaryCache(mimeBinaryCache) + : QObject(parent) + , m_projectName(projectName) + , m_projectFilePath(projectPath) + , m_rootPath(rootPath) + , m_mimeBinaryCache(mimeBinaryCache) + , m_guard(std::move(guard)) { connect(&m_parserWatcher, &QFutureWatcher<void>::finished, this, [this] { m_dbContents = m_parserWatcher.result(); @@ -112,6 +116,7 @@ void CompilationDbParser::stop() m_treeScanner->disconnect(); m_treeScanner->future().cancel(); } + m_guard = {}; deleteLater(); } |