forked from qt-creator/qt-creator
LanguageClient: Fix crash when language server dies
Do not remove items of a container while iterating over it
instead revert to old behavior of allocating a temporary.
Broke with cf010911f7
.
Change-Id: Ie76974f1e74469f80ee28fb2011d66690dd9e917
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
committed by
David Schulz
parent
23611c3438
commit
0cb6f07829
@@ -880,8 +880,9 @@ bool Client::reset()
|
||||
m_diagnosticManager.clearDiagnostics();
|
||||
for (auto it = m_openedDocument.cbegin(); it != m_openedDocument.cend(); ++it)
|
||||
it.key()->disconnect(this);
|
||||
for (auto it = m_resetAssistProvider.cbegin(); it != m_resetAssistProvider.cend(); ++it)
|
||||
resetAssistProviders(it.key());
|
||||
// temporary container needed since m_resetAssistProvider is changed in resetAssistProviders
|
||||
for (TextEditor::TextDocument *document : m_resetAssistProvider.keys())
|
||||
resetAssistProviders(document);
|
||||
for (TextEditor::IAssistProcessor *processor : qAsConst(m_runningAssistProcessors))
|
||||
processor->setAsyncProposalAvailable(nullptr);
|
||||
m_runningAssistProcessors.clear();
|
||||
|
Reference in New Issue
Block a user