diff options
Diffstat (limited to 'oox/source/drawingml/diagram/layoutatomvisitors.cxx')
-rw-r--r-- | oox/source/drawingml/diagram/layoutatomvisitors.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/oox/source/drawingml/diagram/layoutatomvisitors.cxx b/oox/source/drawingml/diagram/layoutatomvisitors.cxx index e2d6c4681b5c..4e69e8c8725b 100644 --- a/oox/source/drawingml/diagram/layoutatomvisitors.cxx +++ b/oox/source/drawingml/diagram/layoutatomvisitors.cxx @@ -131,6 +131,8 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom) if (rAtom.setupShape(pShape, pNewNode)) { pShape->setInternalName(rAtom.getName()); + if (AlgAtomPtr pAlgAtom = rAtom.getAlgAtom()) + pShape->setAspectRatio(pAlgAtom->getAspectRatio()); rAtom.addNodeShape(pShape); } } @@ -151,6 +153,8 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom) if (rAtom.setupShape(pShape, pNewNode)) { pShape->setInternalName(rAtom.getName()); + if (AlgAtomPtr pAlgAtom = rAtom.getAlgAtom()) + pShape->setAspectRatio(pAlgAtom->getAspectRatio()); pCurrParent->addChild(pShape); pCurrParent = pShape; rAtom.addNodeShape(pShape); @@ -270,6 +274,9 @@ void ShapeTemplateVisitor::visit(ShapeAtom& rAtom) // TODO(F3): cloned shape shares all properties by reference, // don't change them! mpShape.reset(new Shape(pCurrShape)); + // Fill properties have to be changed as sometimes only the presentation node contains the blip + // fill, unshare those. + mpShape->cloneFillProperties(); } void ShapeLayoutingVisitor::defaultVisit(LayoutAtom const & rAtom) |