diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2020-04-20 21:04:30 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-04-21 09:17:07 +0200 |
commit | 249428202be04ab9a2271a9cd48922523fa03bc4 (patch) | |
tree | 70dd8a77e3a62d28fbb1f08d7a4f103fc9caaeb3 | |
parent | fcd1ed79ceb1bc182ec66bd9261bca5c6bf115b9 (diff) |
tdf#131446 DOCX import: restrict IncreasedAnchoredObjectSpacing further
Regression from commit 8b73bafbc18acb4dd8911d2f2de8158d98eb6144
(tdf#115719 DOCX import: increase paragraph spacing for anchored
objects, 2018-02-14), this is another case where the workaround for the
Word layout bug is not needed.
tdf115719.docx and tdf115719b.docx are tweaked to have <wp:anchor ...
behindDoc="1"> for 1 shape, as the original bugdoc has it. This allows
us to render both the tdf#115719 and tdf#131446 bug documents the same
way as Word does.
Change-Id: I0c3f197c3360882cd64f8dcf286c6051dc11d674
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92599
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf115719.docx | bin | 18338 -> 18668 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf115719b.docx | bin | 18845 -> 19145 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlimport/data/tdf115719b.docx | bin | 19839 -> 19843 bytes | |||
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 22 |
4 files changed, 22 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf115719.docx b/sw/qa/extras/ooxmlexport/data/tdf115719.docx Binary files differindex 4eda09a98fa2..99806d4dc860 100644 --- a/sw/qa/extras/ooxmlexport/data/tdf115719.docx +++ b/sw/qa/extras/ooxmlexport/data/tdf115719.docx diff --git a/sw/qa/extras/ooxmlexport/data/tdf115719b.docx b/sw/qa/extras/ooxmlexport/data/tdf115719b.docx Binary files differindex a632e3df0e7a..f3e3925c8869 100644 --- a/sw/qa/extras/ooxmlexport/data/tdf115719b.docx +++ b/sw/qa/extras/ooxmlexport/data/tdf115719b.docx diff --git a/sw/qa/extras/ooxmlimport/data/tdf115719b.docx b/sw/qa/extras/ooxmlimport/data/tdf115719b.docx Binary files differindex 4cb13228443a..7d91108bc0bd 100644 --- a/sw/qa/extras/ooxmlimport/data/tdf115719b.docx +++ b/sw/qa/extras/ooxmlimport/data/tdf115719b.docx diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 21fd70d662d4..e10b82daed0a 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1253,6 +1253,28 @@ void SectionPropertyMap::HandleIncreasedAnchoredObjectSpacing(DomainMapper_Impl& if (rAnchor.m_aAnchoredObjects.size() < 4) continue; + // Ignore this paragraph if none of the objects are wrapped in the background. + sal_Int32 nOpaqueCount = 0; + for (const auto& rAnchored : rAnchor.m_aAnchoredObjects) + { + uno::Reference<beans::XPropertySet> xShape(rAnchored.m_xAnchoredObject, uno::UNO_QUERY); + if (!xShape.is()) + { + continue; + } + + bool bOpaque = true; + xShape->getPropertyValue("Opaque") >>= bOpaque; + if (!bOpaque) + { + ++nOpaqueCount; + } + } + if (nOpaqueCount < 1) + { + continue; + } + // Analyze the anchored objects of this paragraph, now that we know the // page width. sal_Int32 nShapesWidth = 0; |