diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-11-03 10:49:38 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-11-03 16:54:06 +0100 |
commit | 45780815b2ae9d07a249a7d84d332c8b402317a5 (patch) | |
tree | 0fc1d0a8b35238b29880b4cb4feb5f9bdc61a1d3 /sc/source/filter/rtf/eeimpars.cxx | |
parent | d659b79d409b64da11b8a89a2995c97543cc42d6 (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.cxx | 16 |
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: */ |