diff options
Diffstat (limited to 'oox/source/ppt/pptshapegroupcontext.cxx')
-rw-r--r-- | oox/source/ppt/pptshapegroupcontext.cxx | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/oox/source/ppt/pptshapegroupcontext.cxx b/oox/source/ppt/pptshapegroupcontext.cxx index 9a775655518f..6535e12d3f81 100644 --- a/oox/source/ppt/pptshapegroupcontext.cxx +++ b/oox/source/ppt/pptshapegroupcontext.cxx @@ -148,17 +148,20 @@ void PPTShapeGroupContext::importExtDrawings( ) if( pGraphicShape ) { for (auto const& extDrawing : pGraphicShape->getExtDrawings()) - { - getFilter().importFragment( new ExtDrawingFragmentHandler( getFilter(), getFragmentPathFromRelId(extDrawing), - mpSlidePersistPtr, - meShapeLocation, - mpGroupShapePtr, - pGraphicShape ) ); - // Apply font color imported from color fragment - if( pGraphicShape->getFontRefColorForNodes().isUsed() ) - applyFontRefColor(mpGroupShapePtr, pGraphicShape->getFontRefColorForNodes()); - } - pGraphicShape = oox::drawingml::ShapePtr( nullptr ); + { + OUString aFragmentPath = getFragmentPathFromRelId(extDrawing); + getFilter().importFragment( new ExtDrawingFragmentHandler( getFilter(), aFragmentPath, + mpSlidePersistPtr, + meShapeLocation, + mpGroupShapePtr, + pGraphicShape ) ); + pGraphicShape->keepDiagramDrawing(getFilter(), aFragmentPath); + + // Apply font color imported from color fragment + if( pGraphicShape->getFontRefColorForNodes().isUsed() ) + applyFontRefColor(mpGroupShapePtr, pGraphicShape->getFontRefColorForNodes()); + } + pGraphicShape = oox::drawingml::ShapePtr( nullptr ); } } |