aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp
diff options
context:
space:
mode:
authorAlibek Omarov <[email protected]>2022-07-18 08:13:38 +0300
committerAlibek Omarov <[email protected]>2022-07-26 20:29:39 +0000
commit5b72ecbff704109edb4addb3a8ba075f2de5d13f (patch)
treea01ec2a35ae0a62e0df80408af71b1776c4bb6e9 /src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp
parent2f7b86dab3ba6d83afa484071cc967fe969c679c (diff)
CompilationDatabaseProjectManager: Fix cached state being unhandled
In this code, database file is being hashed and if hash stays the same, parser quickly returns ParseResult::Cached. But as database never gets read, source tree isn't being built, thus dbContents() never gets called I moved ParseGuard::markAsSuccess() call to the finish() method of parser, so we tell ProjectExplorer that parsing finished successfully on Cached state Change-Id: I7ea28017e653ac6e2d7f50047c09a6eb7ecda13f Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp')
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp
index b31125fbb33..21605c321c6 100644
--- a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp
+++ b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp
@@ -153,6 +153,9 @@ void CompilationDbParser::parserJobFinished()
void CompilationDbParser::finish(ParseResult result)
{
+ if (result != ParseResult::Failure)
+ m_guard.markAsSuccess();
+
emit finished(result);
deleteLater();
}