CompilationDatabaseProjectManager: Fix unexpected double emit of signal

Do not rely on QFutureWatcher::isFinished(), which triggers a crash in
the plugin unit test with Qt 6 (race condition?).

Change-Id: I379d894ebd4a28a64b1e70e0cee6eef9ab720a14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2021-09-15 16:32:11 +02:00
parent 64e438ed83
commit 32541fef3b
2 changed files with 14 additions and 6 deletions

View File

@@ -77,6 +77,7 @@ signals:
void finished(ParseResult result);
private:
void parserJobFinished();
void finish(ParseResult result);
DbContents parseProject();
std::vector<DbEntry> readJsonObjects() const;
@@ -90,6 +91,7 @@ private:
DbContents m_dbContents;
QByteArray m_projectFileContents;
QByteArray m_projectFileHash;
int m_runningParserJobs = 0;
ProjectExplorer::BuildSystem::ParseGuard m_guard;
};