aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/cpptools/cppcompletionassist.cpp1
-rw-r--r--src/plugins/texteditor/codeassist/runner.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp
index dddbca6e2fa..8a04f940ab2 100644
--- a/src/plugins/cpptools/cppcompletionassist.cpp
+++ b/src/plugins/cpptools/cppcompletionassist.cpp
@@ -775,6 +775,7 @@ IAssistProposal *CppCompletionAssistProcessor::createContentProposal()
}
}
} else {
+ delete *it;
it = m_completions.erase(it);
}
}
diff --git a/src/plugins/texteditor/codeassist/runner.cpp b/src/plugins/texteditor/codeassist/runner.cpp
index a6afedcc160..eaabb5f77a5 100644
--- a/src/plugins/texteditor/codeassist/runner.cpp
+++ b/src/plugins/texteditor/codeassist/runner.cpp
@@ -34,6 +34,7 @@
#include "iassistprocessor.h"
#include "iassistproposal.h"
#include "iassistinterface.h"
+#include "iassistproposalmodel.h"
using namespace TextEditor;
using namespace Internal;
@@ -48,8 +49,11 @@ ProcessorRunner::ProcessorRunner()
ProcessorRunner::~ProcessorRunner()
{
delete m_processor;
- if (m_discardProposal)
+ if (m_discardProposal && m_proposal) {
+ // Proposal doesn't own the model, so we need to delete both.
+ delete m_proposal->model();
delete m_proposal;
+ }
}
void ProcessorRunner::setProcessor(IAssistProcessor *computer)