dev/null |binary sw/qa/extras/ooxmlexport/data/fdo68787.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 9 +++++++++ sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 9 --------- sw/source/filter/ww8/docxattributeoutput.cxx | 12 +++++++++++- 5 files changed, 20 insertions(+), 10 deletions(-)
New commits: commit 3f2774c771fc54757364ed50fab9b4753d067371 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed Sep 4 17:19:47 2013 +0200 fdo#68787 DOCX export: handle zero width footnote separator Change-Id: Ieb1d8d1f8609558b4af06630b603a51da3e665f4 diff --git a/sw/qa/extras/ooxmlimport/data/fdo68787.docx b/sw/qa/extras/ooxmlexport/data/fdo68787.docx similarity index 100% rename from sw/qa/extras/ooxmlimport/data/fdo68787.docx rename to sw/qa/extras/ooxmlexport/data/fdo68787.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 1445ccc..5dc83f5 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -115,6 +115,7 @@ public: void testBnc834035(); void testFdo68418(); void testA4AndBorders(); + void testFdo68787(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -206,6 +207,7 @@ void Test::run() {"bnc834035.odt", &Test::testBnc834035}, {"fdo68418.docx", &Test::testFdo68418}, {"a4andborders.docx", &Test::testA4AndBorders}, + {"fdo68787.docx", &Test::testFdo68787}, }; // Don't test the first import of these, for some reason those tests fail const char* aBlacklist[] = { @@ -1264,6 +1266,13 @@ void Test::testA4AndBorders() CPPUNIT_ASSERT_EQUAL_MESSAGE("Incorrect Page Height (mm)", sal_Int32(297), getProperty<sal_Int32>(xPageStyle, "Height") / 100); } +void Test::testFdo68787() +{ + uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName(DEFAULT_STYLE), uno::UNO_QUERY); + // This was 25, the 'lack of w:separator' <-> '0 line width' mapping was missing. + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty<sal_Int32>(xPageStyle, "FootnoteLineRelativeWidth")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index bfae9a3..973f3b1 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -131,7 +131,6 @@ public: void testTableStyleParprop(); void testTablePagebreak(); void testFdo68607(); - void testFdo68787(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -229,7 +228,6 @@ void Test::run() {"table-style-parprop.docx", &Test::testTableStyleParprop}, {"table-pagebreak.docx", &Test::testTablePagebreak}, {"fdo68607.docx", &Test::testFdo68607}, - {"fdo68787.docx", &Test::testFdo68787}, }; header(); for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) @@ -1542,13 +1540,6 @@ void Test::testFdo68607() CPPUNIT_ASSERT(getPages() > 1); } -void Test::testFdo68787() -{ - uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName(DEFAULT_STYLE), uno::UNO_QUERY); - // This was 25, the 'lack of w:separator' <-> '0 line width' mapping was missing. - CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty<sal_Int32>(xPageStyle, "FootnoteLineRelativeWidth")); -} - CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 342bd75..7f08f58 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -4340,7 +4340,17 @@ void DocxAttributeOutput::FootnotesEndnotes( bool bFootnotes ) FSEND ); m_pSerializer->startElementNS( XML_w, XML_p, FSEND ); m_pSerializer->startElementNS( XML_w, XML_r, FSEND ); - m_pSerializer->singleElementNS( XML_w, XML_separator, FSEND ); + + bool bSeparator = true; + if (bFootnotes) + { + const SwPageFtnInfo& rFtnInfo = m_rExport.pDoc->GetPageDesc(0).GetFtnInfo(); + // Request a separator only in case the width is larger than zero. + bSeparator = double(rFtnInfo.GetWidth()) > 0; + } + + if (bSeparator) + m_pSerializer->singleElementNS( XML_w, XML_separator, FSEND ); m_pSerializer->endElementNS( XML_w, XML_r ); m_pSerializer->endElementNS( XML_w, XML_p ); m_pSerializer->endElementNS( XML_w, nItem ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits