From e15443e9523df0e40414b1baf7d8182f641f7f2c Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Wed, 7 Sep 2011 14:02:31 +0200 Subject: Code assist: Fix memory leak in completion One fix is in the runner, which is part of the completion engine itself. The other is specific for C++. Task-number: QTCREATORBUG-5947 Change-Id: Ib8fff1eb5adad1ffb2a11da66c50b545e1457df8 Reviewed-on: http://codereview.qt.nokia.com/4355 Reviewed-by: Qt Sanity Bot Reviewed-by: Fawzi Mohamed --- src/plugins/texteditor/codeassist/runner.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/plugins/texteditor') diff --git a/src/plugins/texteditor/codeassist/runner.cpp b/src/plugins/texteditor/codeassist/runner.cpp index a6afedcc16..eaabb5f77a 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) -- cgit v1.2.1