diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-03-26 21:52:05 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-03-27 09:17:38 +0200 |
commit | 2c4d84e93901571ead79c85aa3894ef4e10bf5af (patch) | |
tree | b20100cc0f8220217db316325e9a3d68b4f4ef5a | |
parent | 0518bb5c3a98d973c3675fdd4cb8c52a669a3507 (diff) |
tdf#116410 DOCX import: restrict increased object spacing to multiple shapes
This anchored object handling is just there to be bug-compatible with
Word, it's not needed for the case when there is a single shape in the
paragraph.
Change-Id: I5e3dc4ba9a4a6f459ec6217e8974ebc2d7303bcc
Reviewed-on: https://gerrit.libreoffice.org/51922
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf116410.docx | bin | 0 -> 49192 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf116410.docx b/sw/qa/extras/ooxmlexport/data/tdf116410.docx Binary files differnew file mode 100644 index 000000000000..5352a233ed70 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf116410.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 14e03fbced9d..f290d0aefe15 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -124,6 +124,12 @@ DECLARE_OOXMLEXPORT_TEST(testTdf115719, "tdf115719.docx") CPPUNIT_ASSERT_EQUAL(2, getPages()); } +DECLARE_OOXMLEXPORT_TEST(testTdf116410, "tdf116410.docx") +{ + // Opposite of the above, was 2 pages, should be 1 page. + CPPUNIT_ASSERT_EQUAL(1, getPages()); +} + DECLARE_OOXMLEXPORT_TEST(testParagraphSplitOnSectionBorder, "parasplit-on-section-border.odt") { xmlDocPtr pXmlDoc = parseExport("word/document.xml"); diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 76851c428438..bf3522008f63 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1146,6 +1146,10 @@ void SectionPropertyMap::HandleIncreasedAnchoredObjectSpacing(DomainMapper_Impl& std::vector<AnchoredObjectInfo>& rAnchoredObjectAnchors = rDM_Impl.m_aAnchoredObjectAnchors; for (auto& rAnchor : rAnchoredObjectAnchors) { + // Ignore the case when there is a single shape only. + if (rAnchor.m_aAnchoredObjects.size() < 2) + return; + // Analyze the anchored objects of this paragraph, now that we know the // page width. sal_Int32 nShapesWidth = 0; |