include/xmloff/txtimp.hxx | 2 ++ xmloff/source/core/xmlimp.cxx | 2 ++ xmloff/source/text/txtimp.cxx | 6 ++++++ 3 files changed, 10 insertions(+)
New commits: commit 22fda7524385225d9264e48ee3f4811674f8239c Author: Noel Grandin <[email protected]> AuthorDate: Mon Aug 3 10:31:42 2020 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Mon Aug 3 13:51:55 2020 +0200 fix leak in SvXMLImport caused by a ref-counting cycle. to reproduce the leak do make CppunitTest_editeng_core \ VALGRIND='memcheck --leak-check=full \ --suppressions=$$BUILDDIR/solenv/sanitizers/valgrind-suppressions' \ CPPUNIT_TEST_NAME="testBoldItalicCopyPaste" Change-Id: I94dca092a75db8ddfaae4a210e1158fa066ed609 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99989 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/include/xmloff/txtimp.hxx b/include/xmloff/txtimp.hxx index 96edbbee0dba..4258c4b73bfb 100644 --- a/include/xmloff/txtimp.hxx +++ b/include/xmloff/txtimp.hxx @@ -398,6 +398,8 @@ public: virtual ~XMLTextImportHelper() override; + void dispose(); + void SetCursor( const css::uno::Reference< css::text::XTextCursor >& rCursor ); void ResetCursor(); diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx index 9aca2c429b90..e305e69bff5b 100644 --- a/xmloff/source/core/xmlimp.cxx +++ b/xmloff/source/core/xmlimp.cxx @@ -442,6 +442,8 @@ void SvXMLImport::cleanup() throw () pStylesContext->Clear(); maContexts.pop(); } + if( mxTextImport ) + mxTextImport->dispose(); mxTextImport.clear(); // XMLRedlineImportHelper needs model DisposingModel(); } diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx index d047942752e3..961cda1bfac7 100644 --- a/xmloff/source/text/txtimp.cxx +++ b/xmloff/source/text/txtimp.cxx @@ -1048,6 +1048,12 @@ XMLTextImportHelper::~XMLTextImportHelper() { } +void XMLTextImportHelper::dispose() +{ + if (m_xImpl->m_xAutoStyles) + static_cast<SvXMLStylesContext *>(m_xImpl->m_xAutoStyles.get())->Clear(); +} + SvXMLImportPropertyMapper *XMLTextImportHelper::CreateShapeExtPropMapper(SvXMLImport& rImport) { XMLPropertySetMapper *pPropMapper = _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
