From 3138abfb052a4241cfca4b8d430c139cca50a85c Mon Sep 17 00:00:00 2001 From: Justin Luth Date: Mon, 26 Mar 2018 19:07:18 +0300 Subject: tdf#112886 ooxmlimport: skip useless footnote placeholder Inserting the 0x02 placeholder as the first entry in the line interferes with the aesthetic tab code. lcl_text has code to ignore that placeholder, but lcl_utext doesn't. Ignoring at lcl_utext has the same affect as not processing it at all. Only .docx adds 0x02, so it should be fairly safe to avoid the 0x02 completely. Nothing was detected missing by skipping the placeholder. All of the code was inherited from OOo. Change-Id: Ie8840e5946fec89f270fef5523c88ee5051ca8ef Reviewed-on: https://gerrit.libreoffice.org/51912 Tested-by: Jenkins Reviewed-by: Justin Luth Reviewed-by: Miklos Vajna --- sw/qa/extras/ooxmlexport/ooxmlexport10.cxx | 4 ++-- sw/qa/extras/ooxmlexport/ooxmlexport9.cxx | 2 +- writerfilter/source/ooxml/OOXMLFastContextHandler.cxx | 3 --- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx index 0f1adf0c25c7..624155cc9f27 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx @@ -986,9 +986,9 @@ DECLARE_OOXMLEXPORT_TEST(testTdf90810, "tdf90810short.docx") // Original document doesn't have a leading tab in the footnote, but the // export adds one unconditionally. if (mbExported) - CPPUNIT_ASSERT_EQUAL(static_cast(91), sFootnoteText.getLength()); - else CPPUNIT_ASSERT_EQUAL(static_cast(90), sFootnoteText.getLength()); + else + CPPUNIT_ASSERT_EQUAL(static_cast(89), sFootnoteText.getLength()); } DECLARE_OOXMLEXPORT_TEST(testTdf89165, "tdf89165.docx") diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx index d05f8d115c81..24397c8688a6 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -914,7 +914,7 @@ DECLARE_OOXMLEXPORT_TEST(testTdf105095, "tdf105095.docx") uno::Reference xTextRange(xFootnotes->getByIndex(0), uno::UNO_QUERY); // This failed, tab between the footnote number and the footnote content // was lost on import. - CPPUNIT_ASSERT(xTextRange->getString().endsWith("\tfootnote")); + CPPUNIT_ASSERT_EQUAL( OUString("\tfootnote"), xTextRange->getString() ); } DECLARE_OOXMLEXPORT_TEST( testActiveXCheckbox, "activex_checkbox.docx" ) diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 80f4a2e420f3..e88c3cf7898a 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -32,7 +32,6 @@ #include "Handler.hxx" static const sal_Unicode uCR = 0xd; -static const sal_Unicode uFtnEdnRef = 0x2; static const sal_Unicode uFtnEdnSep = 0x3; static const sal_Unicode uTab = 0x9; static const sal_Unicode uPgNum = 0x0; @@ -497,8 +496,6 @@ void OOXMLFastContextHandler::lockField() void OOXMLFastContextHandler::ftnednref() { - if (isForwardEvents()) - mpStream->utext(reinterpret_cast(&uFtnEdnRef), 1); } void OOXMLFastContextHandler::ftnednsep() -- cgit