oox/inc/oox/vml/vmlformatting.hxx | 5 ++++- oox/source/vml/vmlformatting.cxx | 7 ++++++- oox/source/vml/vmlshapecontext.cxx | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-)
New commits: commit 2cacaf6ab0acf3188f43df02ef3fc87082e351b2 Author: Miklos Vajna <vmik...@suse.cz> Date: Fri Jan 18 15:22:36 2013 +0100 oox::vml::ShadowModel: differentiate between not having it and having it off Having it explicitly disabled was already handled, but apparently 01d059c13e39f4fba75e2152b4db6b0b746bca71 turned on shadows by default. Fix this. Change-Id: I1401a28b36a9b5aea302f9a19a6d02a29e6b358d diff --git a/oox/inc/oox/vml/vmlformatting.hxx b/oox/inc/oox/vml/vmlformatting.hxx index 0d8db16..d675255 100644 --- a/oox/inc/oox/vml/vmlformatting.hxx +++ b/oox/inc/oox/vml/vmlformatting.hxx @@ -228,11 +228,14 @@ struct FillModel /** The shadow model structure contains all shape shadow properties. */ struct ShadowModel { - OptValue<bool> moHasShadow; ///< Specifies whether to show a shadow. + bool mbHasShadow; ///< Is a v:shadow element seen? + OptValue<bool> moShadowOn; ///< Is the element turned on? OptValue<OUString> moColor; ///< Specifies the color of the shadow. OptValue<OUString> moOffset; ///< Specifies the shadow's offset from the shape's location. OptValue<double> moOpacity; ///< Specifies the opacity of the shadow. + ShadowModel(); + /** Writes the properties to the passed property map. */ void pushToPropMap(oox::drawingml::ShapePropertyMap& rPropMap, const GraphicHelper& rGraphicHelper) const; }; diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 3113d57..1af17a38 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -714,9 +714,14 @@ void FillModel::pushToPropMap( ShapePropertyMap& rPropMap, const GraphicHelper& // ============================================================================ +ShadowModel::ShadowModel() + : mbHasShadow(false) +{ +} + void ShadowModel::pushToPropMap(ShapePropertyMap& rPropMap, const GraphicHelper& rGraphicHelper) const { - if (moHasShadow.has() && !moHasShadow.get()) + if (!mbHasShadow || (moShadowOn.has() && !moShadowOn.get())) return; drawingml::Color aColor = ConversionHelper::decodeColor(rGraphicHelper, moColor, moOpacity, API_RGB_GRAY); diff --git a/oox/source/vml/vmlshapecontext.cxx b/oox/source/vml/vmlshapecontext.cxx index fc5ad9f..39ac325 100644 --- a/oox/source/vml/vmlshapecontext.cxx +++ b/oox/source/vml/vmlshapecontext.cxx @@ -335,7 +335,8 @@ ContextHandlerRef ShapeTypeContext::onCreateContext( sal_Int32 nElement, const A break; case VML_TOKEN( shadow ): { - mrTypeModel.maShadowModel.moHasShadow.assignIfUsed(lclDecodeBool(rAttribs, XML_on)); + mrTypeModel.maShadowModel.mbHasShadow = true; + mrTypeModel.maShadowModel.moShadowOn.assignIfUsed(lclDecodeBool(rAttribs, XML_on)); mrTypeModel.maShadowModel.moColor.assignIfUsed(rAttribs.getString(XML_color)); mrTypeModel.maShadowModel.moOffset.assignIfUsed(rAttribs.getString(XML_offset)); mrTypeModel.maShadowModel.moOpacity = lclDecodePercent(rAttribs, XML_opacity, 1.0); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits