diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 0bdf34efaba..27f8f8fe259 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -183,6 +183,8 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, m_assistKind = kind; m_requestProvider = provider; + connect( + m_requestProvider, &QObject::destroyed, this, &CodeAssistantPrivate::cancelCurrentRequest); IAssistProcessor *processor = provider->createProcessor(assistInterface.get()); processor->setAsyncCompletionAvailableHandler([this, reason, processor]( IAssistProposal *newProposal) { @@ -367,6 +369,8 @@ void CodeAssistantPrivate::invalidateCurrentRequestData() { m_processor = nullptr; m_requestProvider = nullptr; + disconnect( + m_requestProvider, &QObject::destroyed, this, &CodeAssistantPrivate::cancelCurrentRequest); m_receivedContentWhileWaiting = false; }