CompilationDbProjectManager: Sanitize project parsing

The parsing code used to access all kinds of stuff (e.g. the project
tree and the toolchain manager) from the non-UI thread, which is not
allowed.

Fixes: QTCREATORBUG-22420
Change-Id: I4be47919d7e543376d31826dd380f66f4e060458
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Christian Kandeler
2019-05-16 15:36:55 +02:00
parent 975173af11
commit 0ffbe6a9e4
9 changed files with 385 additions and 181 deletions

View File

@@ -38,6 +38,7 @@
using namespace ProjectExplorer;
namespace CompilationDatabaseProjectManager {
namespace Internal {
static QString updatedPathFlag(const QString &pathStr, const QString &workingDir)
{
@@ -240,4 +241,5 @@ QStringList splitCommandLine(QString commandLine, QSet<QString> &flagsCache)
return result;
}
} // namespace Internal
} // namespace CompilationDatabaseProjectManager