diff options
Diffstat (limited to 'oox/source')
-rw-r--r-- | oox/source/vml/vmlshape.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index f22a98576a16..362f02c7cabf 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -293,13 +293,18 @@ void ShapeBase::finalizeFragmentImport() aType = aType.copy(1); if( const ShapeType* pShapeType = mrDrawing.getShapes().getShapeTypeById( aType ) ) { - // Make sure that the stroke props from maTypeModel have priority over the stroke props from + // Make sure that the props from maTypeModel have priority over the props from // the shape type. StrokeModel aMergedStrokeModel; aMergedStrokeModel.assignUsed(pShapeType->getTypeModel().maStrokeModel); aMergedStrokeModel.assignUsed(maTypeModel.maStrokeModel); + FillModel aMergedFillModel; + aMergedFillModel.assignUsed(pShapeType->getTypeModel().maFillModel); + aMergedFillModel.assignUsed(maTypeModel.maFillModel); + maTypeModel.assignUsed( pShapeType->getTypeModel() ); maTypeModel.maStrokeModel = aMergedStrokeModel; + maTypeModel.maFillModel = aMergedFillModel; } else { // Temporary fix, shapetype not found if referenced from different substream @@ -1359,6 +1364,8 @@ Reference< XShape > ComplexShape::implConvertAndInsert( const Reference< XShapes oox::drawingml::ShapePropertyMap aPropMap(mrDrawing.getFilter().getModelObjectHelper()); const GraphicHelper& rGraphicHelper = mrDrawing.getFilter().getGraphicHelper(); maTypeModel.maStrokeModel.pushToPropMap(aPropMap, rGraphicHelper); + //And, fill-color properties as well... + maTypeModel.maFillModel.pushToPropMap(aPropMap, rGraphicHelper); PropertySet(xShape).setProperties(aPropMap); return xShape; |