From c67b7d795589aaf8f3396a379ef348bd650cb2dc Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Mon, 18 Jun 2018 14:09:56 +1000 Subject: [PATCH] tdf#107969: use proper serializer for VML in footnotes/endnotes Change-Id: Ie0e062fab0ae1a63094655cc0f6bee958b4c1087 Reviewed-on: https://gerrit.libreoffice.org/55978 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- sw/qa/extras/ooxmlexport/data/tdf107969.docx | Bin 0 -> 28622 bytes sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 7 +++++++ sw/source/filter/ww8/docxexport.cxx | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 sw/qa/extras/ooxmlexport/data/tdf107969.docx diff --git a/sw/qa/extras/ooxmlexport/data/tdf107969.docx b/sw/qa/extras/ooxmlexport/data/tdf107969.docx new file mode 100644 index 0000000000000000000000000000000000000000..e674bcb5db724f92b4debaa3dc2d4ff7e46861d7 GIT binary patch literal 28622 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 } +DECLARE_OOXMLEXPORT_TEST(testTdf107969, "tdf107969.docx") +{ + // A VML object in a footnote's tracked changes caused write past end of document.xml at export to docx. + // After that, importing after export failed with + // SAXParseException: '[word/document.xml line 2]: Extra content at the end of the document', Stream 'word/document.xml'. +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index 0e04a2220a5e..9355677fed3c 100644 --- a/sw/source/filter/ww8/docxexport.cxx +++ b/sw/source/filter/ww8/docxexport.cxx @@ -681,11 +681,14 @@ void DocxExport::WriteFootnotesEndnotes() m_pAttrOutput->SetSerializer( pFootnotesFS ); // tdf#99227 m_pSdrExport->setSerializer( pFootnotesFS ); + // tdf#107969 + m_pVMLExport->SetFS(pFootnotesFS); // do the work m_pAttrOutput->FootnotesEndnotes( true ); // switch the serializer back + m_pVMLExport->SetFS(m_pDocumentFS); m_pSdrExport->setSerializer( m_pDocumentFS ); m_pAttrOutput->SetSerializer( m_pDocumentFS ); } @@ -705,11 +708,14 @@ void DocxExport::WriteFootnotesEndnotes() m_pAttrOutput->SetSerializer( pEndnotesFS ); // tdf#99227 m_pSdrExport->setSerializer( pEndnotesFS ); + // tdf#107969 + m_pVMLExport->SetFS(pEndnotesFS); // do the work m_pAttrOutput->FootnotesEndnotes( false ); // switch the serializer back + m_pVMLExport->SetFS(m_pDocumentFS); m_pSdrExport->setSerializer( m_pDocumentFS ); m_pAttrOutput->SetSerializer( m_pDocumentFS ); }