forked from qt-creator/qt-creator
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 <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
(cherry picked from commit e15443e952
)
This commit is contained in:
committed by
Eike Ziller
parent
c5694cc5e1
commit
ad22dc767c
@@ -775,6 +775,7 @@ IAssistProposal *CppCompletionAssistProcessor::createContentProposal()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
delete *it;
|
||||
it = m_completions.erase(it);
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user