aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel/clangbackendreceiver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/clangcodemodel/clangbackendreceiver.cpp')
-rw-r--r--src/plugins/clangcodemodel/clangbackendreceiver.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/plugins/clangcodemodel/clangbackendreceiver.cpp b/src/plugins/clangcodemodel/clangbackendreceiver.cpp
index 39edf46c44..f9cf7badea 100644
--- a/src/plugins/clangcodemodel/clangbackendreceiver.cpp
+++ b/src/plugins/clangcodemodel/clangbackendreceiver.cpp
@@ -84,6 +84,18 @@ void BackendReceiver::addExpectedCompletionsMessage(
m_assistProcessorsTable.insert(ticket, processor);
}
+void BackendReceiver::cancelProcessor(TextEditor::IAssistProcessor *processor)
+{
+ for (auto it = m_assistProcessorsTable.cbegin(), end = m_assistProcessorsTable.cend();
+ it != end; ++it)
+ {
+ if (it.value() == processor) {
+ m_assistProcessorsTable.erase(it);
+ return;
+ }
+ }
+}
+
void BackendReceiver::deleteProcessorsOfEditorWidget(TextEditor::TextEditorWidget *textEditorWidget)
{
QList<quint64> toRemove;
@@ -147,10 +159,8 @@ bool BackendReceiver::isExpectingCompletionsMessage() const
void BackendReceiver::reset()
{
// Clean up waiting assist processors
- for (ClangCompletionAssistProcessor *processor : m_assistProcessorsTable) {
+ for (ClangCompletionAssistProcessor *processor : m_assistProcessorsTable)
processor->setAsyncProposalAvailable(nullptr);
- delete processor;
- }
m_assistProcessorsTable.clear();
// Clean up futures for references; TODO: Remove duplication
@@ -190,8 +200,7 @@ void BackendReceiver::completions(const CompletionsMessage &message)
<< "items";
const quint64 ticket = message.ticketNumber;
- QScopedPointer<ClangCompletionAssistProcessor> processor(m_assistProcessorsTable.take(ticket));
- if (processor)
+ if (ClangCompletionAssistProcessor *processor = m_assistProcessorsTable.take(ticket))
processor->handleAvailableCompletions(message.codeCompletions);
}
@@ -328,7 +337,7 @@ static CppTools::ToolTipInfo toToolTipInfo(const ToolTipMessage &message)
info.qDocIdCandidates = toStringList(backendInfo.qdocIdCandidates);
info.qDocMark = backendInfo.qdocMark;
info.qDocCategory = toHelpItemCategory(backendInfo.qdocCategory);
-
+ info.value = backendInfo.value;
info.sizeInBytes = backendInfo.sizeInBytes;
return info;