summaryrefslogtreecommitdiff
path: root/sc/source/filter/rtf/eeimpars.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-11-03 10:49:38 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-11-03 16:54:06 +0100
commit45780815b2ae9d07a249a7d84d332c8b402317a5 (patch)
tree0fc1d0a8b35238b29880b4cb4feb5f9bdc61a1d3 /sc/source/filter/rtf/eeimpars.cxx
parentd659b79d409b64da11b8a89a2995c97543cc42d6 (diff)
ofz: fix leak
Change-Id: I5984a8b7ef2d978c118d4e65e686027b1e510bd9 Reviewed-on: https://gerrit.libreoffice.org/44251 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source/filter/rtf/eeimpars.cxx')
-rw-r--r--sc/source/filter/rtf/eeimpars.cxx16
1 files changed, 6 insertions, 10 deletions
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 0680767a042f..f84cc987ef8d 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -625,12 +625,8 @@ ScEEParser::ScEEParser( EditEngine* pEditP ) :
ScEEParser::~ScEEParser()
{
- delete pActEntry;
- while ( !maList.empty() )
- {
- delete maList.back();
- maList.pop_back();
- }
+ mxActEntry.reset();
+ maList.clear();
// Don't delete Pool until the lists have been deleted
pPool->SetSecondaryPool( nullptr );
@@ -639,10 +635,10 @@ ScEEParser::~ScEEParser()
}
void ScEEParser::NewActEntry( const ScEEParseEntry* pE )
-{ // New free-flying pActEntry
- pActEntry = new ScEEParseEntry( pPool );
- pActEntry->aSel.nStartPara = (pE ? pE->aSel.nEndPara + 1 : 0);
- pActEntry->aSel.nStartPos = 0;
+{ // New free-flying mxActEntry
+ mxActEntry.reset(new ScEEParseEntry(pPool));
+ mxActEntry->aSel.nStartPara = (pE ? pE->aSel.nEndPara + 1 : 0);
+ mxActEntry->aSel.nStartPos = 0;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */