diff options
author | Attila Bakos (NISZ) <bakos.attilakaroly@nisz.hu> | 2021-02-18 13:42:00 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-03-01 12:58:04 +0100 |
commit | 2b20826a6a5d06a9e47c90918375a40465567716 (patch) | |
tree | 845475ddbffceb671b6ae2fc5b211bf298618db7 /writerfilter | |
parent | 4bf14305dfa22a3e4084b630b6924a718d7da3ce (diff) |
tdf#136570 OOXML import: fix height of OLE objects
e.g. OLE icons or math formulas by skipping unset
border properties.
Regression from 636d16efe45a55c1a5a7a451c46fbb8618bf0393
(tdf#135653 OOXML import: fix OLE background color).
Change-Id: I64bd68037d063de81fbb302b90d65b77af50a622
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111119
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit ca7855c24af858f52a11a593761ee9e6b9d6ba79)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111581
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 2d79c618b8a1..ee7cf88dfbc8 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2303,11 +2303,13 @@ void DomainMapper_Impl::appendOLE( const OUString& rStreamName, const std::share xReplacementProperties->getPropertyValue("LineWidth") >>= aBorderProps.LineWidth; xReplacementProperties->getPropertyValue("LineStyle") >>= aBorderProps.LineStyle; - xOLEProperties->setPropertyValue("RightBorder", uno::Any(aBorderProps)); - xOLEProperties->setPropertyValue("TopBorder", uno::Any(aBorderProps)); - xOLEProperties->setPropertyValue("LeftBorder", uno::Any(aBorderProps)); - xOLEProperties->setPropertyValue("BottomBorder", uno::Any(aBorderProps)); - + if (aBorderProps.LineStyle) // Set line props only if LineStyle is set + { + xOLEProperties->setPropertyValue("RightBorder", uno::Any(aBorderProps)); + xOLEProperties->setPropertyValue("TopBorder", uno::Any(aBorderProps)); + xOLEProperties->setPropertyValue("LeftBorder", uno::Any(aBorderProps)); + xOLEProperties->setPropertyValue("BottomBorder", uno::Any(aBorderProps)); + } OUString pProperties[] = { "AnchorType", "Surround", @@ -2321,17 +2323,24 @@ void DomainMapper_Impl::appendOLE( const OUString& rStreamName, const std::share "LeftMargin", "RightMargin", "TopMargin", - "BottomMargin", - "FillStyle", - "FillColor", - "FillColor2", - "LineStyle", + "BottomMargin" }; for (const OUString& s : pProperties) { const uno::Any aVal = xReplacementProperties->getPropertyValue(s); xOLEProperties->setPropertyValue(s, aVal); } + + if (xReplacementProperties->getPropertyValue("FillStyle").get<css::drawing::FillStyle>() + != css::drawing::FillStyle::FillStyle_NONE) // Apply fill props if style is set + { + xOLEProperties->setPropertyValue( + "FillStyle", xReplacementProperties->getPropertyValue("FillStyle")); + xOLEProperties->setPropertyValue( + "FillColor", xReplacementProperties->getPropertyValue("FillColor")); + xOLEProperties->setPropertyValue( + "FillColor2", xReplacementProperties->getPropertyValue("FillColor2")); + } } else // mimic the treatment of graphics here... it seems anchoring as character |