diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-29 17:42:12 +0100 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-08-27 14:12:25 +0200 |
commit | e4c106b704ec6b1f773d573d9e55bd3d5688d4bb (patch) | |
tree | 190c1bd2ac9abcb79ad6e0c6d76cb3652a8819cb | |
parent | 4d4a8ec3b46dea48d70a14d03b0c31e452565b07 (diff) |
forcepoint#36 avoid dangling SvTextShapeImportHelper in case of exceptions
Change-Id: Ibdbc047029c31d2b06d2349d68e1cbd9b15fd514
Reviewed-on: https://gerrit.libreoffice.org/52137
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
-rwxr-xr-x | sw/qa/core/data/odt/fail/forcepoint-dtor-1.odt | bin | 0 -> 220389 bytes | |||
-rw-r--r-- | sw/source/filter/xml/xmlimp.cxx | 5 |
2 files changed, 5 insertions, 0 deletions
diff --git a/sw/qa/core/data/odt/fail/forcepoint-dtor-1.odt b/sw/qa/core/data/odt/fail/forcepoint-dtor-1.odt Binary files differnew file mode 100755 index 000000000000..6442200cdeda --- /dev/null +++ b/sw/qa/core/data/odt/fail/forcepoint-dtor-1.odt diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx index 8ee58ceb6bfc..e056f1078047 100644 --- a/sw/source/filter/xml/xmlimp.cxx +++ b/sw/source/filter/xml/xmlimp.cxx @@ -420,6 +420,11 @@ SwXMLImport::SwXMLImport( SwXMLImport::~SwXMLImport() throw () { + if (HasShapeImport()) + { + SAL_WARN("sw", "endDocument skipped, dropping shapes now to avoid dangling SvTextShapeImportHelper pointing to this"); + ClearShapeImport(); + } delete m_pDocElemTokenMap; delete m_pTableElemTokenMap; delete m_pTableCellAttrTokenMap; |