summaryrefslogtreecommitdiff
path: root/src/plugins/texteditor/codeassist/codeassistant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/texteditor/codeassist/codeassistant.cpp')
-rw-r--r--src/plugins/texteditor/codeassist/codeassistant.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp
index cc247d1323..59fe46e5e3 100644
--- a/src/plugins/texteditor/codeassist/codeassistant.cpp
+++ b/src/plugins/texteditor/codeassist/codeassistant.cpp
@@ -263,14 +263,8 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason,
case IAssistProvider::Asynchronous: {
processor->setAsyncCompletionAvailableHandler(
[this, processor, reason](IAssistProposal *newProposal){
- if (m_asyncProcessor != processor) {
- delete newProposal->model();
- delete newProposal;
- return;
- }
-
- invalidateCurrentRequestData();
QTC_CHECK(newProposal);
+ invalidateCurrentRequestData();
displayProposal(newProposal, reason);
emit q->finished();
@@ -282,10 +276,10 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason,
delete processor;
} else if (!processor->performWasApplicable()) {
delete processor;
+ } else { // ...async request was triggered
+ m_asyncProcessor = processor;
}
- // ...otherwise the async request was triggered
- m_asyncProcessor = processor;
break;
}
} // switch