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>
This commit is contained in:
committed by
Leandro T. C. Melo
parent
1edf045a0e
commit
e15443e952
@@ -776,6 +776,7 @@ IAssistProposal *CppCompletionAssistProcessor::createContentProposal()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
delete *it;
|
||||||
it = m_completions.erase(it);
|
it = m_completions.erase(it);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "iassistprocessor.h"
|
#include "iassistprocessor.h"
|
||||||
#include "iassistproposal.h"
|
#include "iassistproposal.h"
|
||||||
#include "iassistinterface.h"
|
#include "iassistinterface.h"
|
||||||
|
#include "iassistproposalmodel.h"
|
||||||
|
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
using namespace Internal;
|
using namespace Internal;
|
||||||
@@ -48,8 +49,11 @@ ProcessorRunner::ProcessorRunner()
|
|||||||
ProcessorRunner::~ProcessorRunner()
|
ProcessorRunner::~ProcessorRunner()
|
||||||
{
|
{
|
||||||
delete m_processor;
|
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;
|
delete m_proposal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessorRunner::setProcessor(IAssistProcessor *computer)
|
void ProcessorRunner::setProcessor(IAssistProcessor *computer)
|
||||||
|
Reference in New Issue
Block a user