diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2019-10-14 21:49:32 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-10-15 08:22:55 +0200 |
commit | 46d630f98f1c07ec2048da35d1a4804181148ac5 (patch) | |
tree | 8536ec2828c056e8e5df2b6bdc47713317b4b887 /include | |
parent | 1ec93ef100bb5f6ccef91f12e28ed09feb3eb38b (diff) |
tdf#127964 PPTX import: fix shape fill handling: style vs slide background
Regression from commit 943a534ac7cb3df513583e226c986dafd8ba246b
(tdf#123684 PPTX import: fix wrong background color for <p:sp
useBgFill="1">, 2019-04-23), the problem was that we didn't handle the
case when a shape had an XML fragment like this:
<p:sp useBgFill="1">
<p:style>
<a:fillRef idx="1">
<a:schemeClr val="accent1"/>
</a:fillRef>
</p:style>
</p:sp>
i.e. the shape both wants to use background fill and it has a style
declaring how to fill it as well. We gave the style a priority, while
PowerPoint gives the background fill a priority.
Fix the problem by not setting the fill from the style in case the
background fill is already set.
Change-Id: Ie1b56e5615219138a5b7ddd7a2b25295b991bc05
Reviewed-on: https://gerrit.libreoffice.org/80804
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/oox/drawingml/shape.hxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/oox/drawingml/shape.hxx b/include/oox/drawingml/shape.hxx index 19b619251339..1895c2f2aad6 100644 --- a/include/oox/drawingml/shape.hxx +++ b/include/oox/drawingml/shape.hxx @@ -232,6 +232,8 @@ public: void setVerticalShapesCount(sal_Int32 nVerticalShapesCount) { mnVerticalShapesCount = nVerticalShapesCount; } sal_Int32 getVerticalShapesCount() const { return mnVerticalShapesCount; } + void setUseBgFill(bool bUseBgFill) { mbUseBgFill = bUseBgFill; } + /// Changes reference semantics to value semantics for fill properties. void cloneFillProperties(); @@ -372,6 +374,9 @@ private: /// Number of child shapes to be layouted vertically inside org chart in-diagram shape. sal_Int32 mnVerticalShapesCount = 0; + + /// The shape fill should be set to that of the slide background surface. + bool mbUseBgFill = false; }; } } |