Clang: Rebuild overview model tree when token data is updated

In release builds overview model tree is built earlier
then the job with token information is completed.

Change-Id: I1a563551e813996001fb97924ac441e2b7d599b9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-03-22 13:05:59 +01:00
parent d66e8b6ea0
commit 99bd0ed2a4
5 changed files with 22 additions and 1 deletions

View File

@@ -206,7 +206,19 @@ bool OverviewModel::rebuild(const QString &filePath)
ClangEditorDocumentProcessor *processor = ClangEditorDocumentProcessor::get(filePath);
if (!processor)
return false;
m_filePath = filePath;
if (m_filePath != filePath) {
if (!m_filePath.isEmpty()) {
ClangEditorDocumentProcessor *previousProcessor
= ClangEditorDocumentProcessor::get(m_filePath);
if (previousProcessor) {
disconnect(previousProcessor, &ClangEditorDocumentProcessor::tokenInfosUpdated,
this, &OverviewModel::needsUpdate);
}
}
m_filePath = filePath;
connect(processor, &ClangEditorDocumentProcessor::tokenInfosUpdated, this,
&OverviewModel::needsUpdate);
}
const TokenContainers &tokenContainers = processor->tokenInfos();
auto *root = new TokenTreeItem;