sw/qa/extras/ooxmlimport/data/rhbz988516.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 12 ++++++++++++ writerfilter/source/ooxml/model.xml | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-)
New commits: commit 9a156365277c93bd66c2ef21c42bfa377eaf314b Author: Michael Stahl <mst...@redhat.com> Date: Wed Mar 5 23:29:06 2014 +0100 rhbz#988516: DOCX import: fix context stack when importing header/footer When a header/footer substream is parsed, a ParagraphGroup is started, but not ended; so the properties of the last paragraph in the header/footer are applied to a paragraph in the body. The obvious fix to add a call to endParagraphGroup() at the end of w:p element breaks table cells. So add a call to endParagraphGroup() at the end of the "hdr"/"ftr" element. (The problem in the bugdoc became much more visible with commit ca555c596043c88894b964ac5e21f5a7271d5f3b, but was there before) Change-Id: Ib054f1882793049b39424c1076ba5d4b319cd027 (cherry picked from commit 2b78f2cd7b9e4bab0f3b3b9119238f36a1bbc7b2) Reviewed-on: https://gerrit.libreoffice.org/8477 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/sw/qa/extras/ooxmlimport/data/rhbz988516.docx b/sw/qa/extras/ooxmlimport/data/rhbz988516.docx new file mode 100644 index 0000000..38e2dcf Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/rhbz988516.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index dca64b7..4c8a790 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -189,6 +189,18 @@ DECLARE_OOXMLIMPORT_TEST(testN757890, "n757890.docx") CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::CENTER, nValue); } +DECLARE_OOXMLIMPORT_TEST(testRhbz988516, "rhbz988516.docx") +{ + // The problem was that the list properties of the footer leaked into body + CPPUNIT_ASSERT_EQUAL(OUString(), + getProperty<OUString>(getParagraph(1), "NumberingStyleName")); + CPPUNIT_ASSERT_EQUAL(OUString("Enclosure 3"), getParagraph(2)->getString()); + CPPUNIT_ASSERT_EQUAL(OUString(), + getProperty<OUString>(getParagraph(2), "NumberingStyleName")); + CPPUNIT_ASSERT_EQUAL(OUString(), + getProperty<OUString>(getParagraph(3), "NumberingStyleName")); +} + DECLARE_OOXMLIMPORT_TEST(testFdo49940, "fdo49940.docx") { uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY); diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index a049fde..6018582 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -22557,7 +22557,9 @@ <element name="headerReference" tokenid="ooxml:EG_HdrFtrReferences_headerReference"/> <element name="footerReference" tokenid="ooxml:EG_HdrFtrReferences_footerReference"/> </resource> - <resource name="CT_HdrFtr" resource="Stream" tag="header"/> + <resource name="CT_HdrFtr" resource="Stream" tag="header"> + <action name="end" action="endParagraphGroup"/> + </resource> <resource name="EG_SectPrContents" resource="Properties" tag="section"> <element name="bidi" tokenid="ooxml:EG_SectPrContents_bidi"/> <element name="cols" tokenid="ooxml:EG_SectPrContents_cols"/> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits