diff options
author | László Németh <nemeth@numbertext.org> | 2019-06-05 14:30:53 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2019-06-06 08:12:01 +0200 |
commit | f9fd82ffa2ccb0e506f44586289ac8b3e1001b38 (patch) | |
tree | f6862d851365b8c05e14d04d141af0e7f8aa1ffa /sw | |
parent | 9823786d74bb86c7827a777ef517ba753f58b872 (diff) |
tdf#115212 DOCX export: fix ToC with tracked deletion
Removing part of Table of Contents with tracked deletion
resulted broken DOCX export, ie. unrecoverable and
uneditable document in MSO.
Change-Id: If5972b2c9fb967819b7be889e0a3efb3714e670b
Reviewed-on: https://gerrit.libreoffice.org/73550
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf115212.docx | bin | 0 -> 11275 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 7 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf115212.docx b/sw/qa/extras/ooxmlexport/data/tdf115212.docx Binary files differnew file mode 100644 index 000000000000..1a44fbd7764a --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf115212.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 3864ecede42f..df83dab157fb 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -862,6 +862,13 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf70234, "tdf70234.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:del/w:r/w:delInstrText"); } +DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf115212, "tdf115212.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + // export field with tracked deletion + assertXPath(pXmlDoc, "//w:p[2]/w:del[1]/w:r[1]/w:fldChar"); +} + DECLARE_OOXMLEXPORT_TEST(testTdf118691, "tdf118691.docx") { uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY); diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 9fdd2b94d575..dfd316ee1626 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -1390,7 +1390,9 @@ void DocxAttributeOutput::EndRun(const SwTextNode* pNode, sal_Int32 nPos, bool / // Add the fields starts for hyperlinks, TOCs and index marks if ( pIt->bOpen && !pIt->pField ) { + StartRedline( m_pRedlineData ); StartField_Impl( pNode, nPos, *pIt, true ); + EndRedline( m_pRedlineData ); if (m_startedHyperlink) ++m_nFieldsInHyperlink; |