diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-08-22 09:05:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-08-24 20:09:57 +0200 |
commit | 20bd1ab3bfcc2d89d36b5dc284df200ece76f885 (patch) | |
tree | a80cc6ec2ba30eafcf16e4398fdf5dcda7454759 | |
parent | 97649f5d39107c6354fc9b4e4eba223b0a1c1e41 (diff) |
cid#1616072 Different smart pointers managing same raw pointer
Change-Id: Ia6e1a911b9d5af906fedfe01225e95396f34dd99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172349
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
-rw-r--r-- | sw/source/core/doc/docbm.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index b12e12228915..d1259cde3dbc 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -1261,6 +1261,7 @@ namespace sw::mark m_vFieldmarks.erase(ppFieldmark); ret.reset(new LazyFieldmarkDeleter(static_cast<Fieldmark*>(pMark), m_rDoc, isMoveNodes)); + pMark = nullptr; } else { @@ -1293,14 +1294,14 @@ namespace sw::mark if (pDdeBookmark) { ret.reset(new LazyDdeBookmarkDeleter(pDdeBookmark, m_rDoc)); + pMark = nullptr; } m_vAllMarks.erase(aI); - // If we don't have a lazy deleter - if (!ret) - // delete after we remove from the list, because the destructor can - // recursively call into this method. - delete pMark; + // delete after we remove from the list, because the destructor can + // recursively call into this method. + delete pMark; // If we have a lazy deleter, pMark was null-ed + return ret; } |