From 79aa866b184678e3d306d64da59a7deb54c41aef Mon Sep 17 00:00:00 2001 From: László Németh Date: Thu, 15 Apr 2021 11:20:27 +0200 Subject: tdf#141660 DOCX import: fix footnotes of deletions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Footnotes of tracked deletions resulted exception during import. They don't need redline copying, because the anchor point (the footnote index) is already part of a redline. Note: handle also remaining unhandled w:footnote type "separationNotice", which could result shift of the footnote numbering. Regression from commit 9b39ce0e66acfe812e1d50e530dc2ccdef3e1357 (tdf#76260 DOCX import: fix slow footnote import). Change-Id: I01e06fb25aba4f97cca31b5da34f5a7a3f18a54a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114137 Tested-by: Jenkins Reviewed-by: László Németh --- sw/qa/extras/ooxmlexport/data/tdf141660.docx | Bin 0 -> 35150 bytes sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 sw/qa/extras/ooxmlexport/data/tdf141660.docx (limited to 'sw') diff --git a/sw/qa/extras/ooxmlexport/data/tdf141660.docx b/sw/qa/extras/ooxmlexport/data/tdf141660.docx new file mode 100644 index 000000000000..dbcceeebd2f5 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf141660.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 943938f67307..280d29f3d596 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -1306,6 +1306,17 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf121597TrackedDeletionOfMultipleParagr assertXPath(pXmlDoc, "/w:document/w:body/w:p[10]/w:pPr/w:rPr/w:del"); } +DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf141660, "tdf141660.docx") +{ + CPPUNIT_ASSERT_EQUAL(1, getPages()); + xmlDocUniquePtr pXmlDoc = parseExport("word/document.xml"); + + assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[2]/w:footnoteReference", "id", "2"); + // w:del is imported correctly with its footnote + assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:del[2]/w:r/w:footnoteReference", "id", "3"); + assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r/w:footnoteReference", "id", "4"); +} + DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf133643, "tdf133643.doc") { CPPUNIT_ASSERT_EQUAL(1, getPages()); -- cgit v1.2.3