Fix a possible crash in ClangEditorDocumentProcessor

Use QFutureSynchronizer in order to ensure that all
threads have finished on shutdown.

Fixes: QTCREATORBUG-25673
Change-Id: I3a6a808ada389bc51a1f0149dfc112768929a20d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2021-05-04 17:44:23 +02:00
parent b3a893e9b8
commit 0ca487b265
2 changed files with 5 additions and 3 deletions

View File

@@ -33,6 +33,7 @@
#include <utils/id.h>
#include <QFutureSynchronizer>
#include <QFutureWatcher>
#include <QTimer>
@@ -145,6 +146,7 @@ private:
QVector<ClangBackEnd::TokenInfoContainer> m_tokenInfos;
CppTools::SemanticHighlighter m_semanticHighlighter;
CppTools::BuiltinEditorDocumentProcessor m_builtinProcessor;
QFutureSynchronizer<void> m_parserSynchronizer;
};
} // namespace Internal