aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel/clangbackendreceiver.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <[email protected]>2017-11-27 12:42:47 +0100
committerNikolai Kosjar <[email protected]>2017-11-27 12:47:38 +0000
commit16ca76d8f53e9c816d8166cca5cb1f6fc5b42bd4 (patch)
tree6f6ecec55740df1d58127eaf88dd28c07e74ebc2 /src/plugins/clangcodemodel/clangbackendreceiver.cpp
parent63861c44c1e4f9d4cf6a7a48fe9534b4f73d0ad7 (diff)
Clang: Fix future reporting on backend crash
...otherwise CppUseSelectionsUpdater might block for an infinite duration. Change-Id: I756d82499b0b2864363dcaeff15398a8bf5500d9 Reviewed-by: Ivan Donchevskii <[email protected]> Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/clangcodemodel/clangbackendreceiver.cpp')
-rw-r--r--src/plugins/clangcodemodel/clangbackendreceiver.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/clangcodemodel/clangbackendreceiver.cpp b/src/plugins/clangcodemodel/clangbackendreceiver.cpp
index 9d620d6697d..c9bea084258 100644
--- a/src/plugins/clangcodemodel/clangbackendreceiver.cpp
+++ b/src/plugins/clangcodemodel/clangbackendreceiver.cpp
@@ -140,11 +140,15 @@ void BackendReceiver::reset()
m_assistProcessorsTable.clear();
// Clean up futures for references
- for (ReferencesEntry &entry : m_referencesTable)
+ for (ReferencesEntry &entry : m_referencesTable) {
entry.futureInterface.cancel();
+ entry.futureInterface.reportFinished();
+ }
m_referencesTable.clear();
- for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable)
+ for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable) {
futureInterface.cancel();
+ futureInterface.reportFinished();
+ }
m_followTable.clear();
}