diff options
Diffstat (limited to 'oox')
-rw-r--r-- | oox/inc/oox/drawingml/shape.hxx | 2 | ||||
-rw-r--r-- | oox/inc/oox/ppt/slidepersist.hxx | 1 | ||||
-rw-r--r-- | oox/source/ppt/layoutfragmenthandler.cxx | 7 |
3 files changed, 10 insertions, 0 deletions
diff --git a/oox/inc/oox/drawingml/shape.hxx b/oox/inc/oox/drawingml/shape.hxx index 83e7243ccbf4..486b8ef719fe 100644 --- a/oox/inc/oox/drawingml/shape.hxx +++ b/oox/inc/oox/drawingml/shape.hxx @@ -147,6 +147,8 @@ public: const ::com::sun::star::awt::Rectangle* pShapeRect = 0, ShapeIdMap* pShapeMap = 0 ); + void dropChildren() { maChildren.clear(); } + void setXShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rXShape ) { mxShape = rXShape; }; const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & diff --git a/oox/inc/oox/ppt/slidepersist.hxx b/oox/inc/oox/ppt/slidepersist.hxx index e4891864820c..619d9ab87c66 100644 --- a/oox/inc/oox/ppt/slidepersist.hxx +++ b/oox/inc/oox/ppt/slidepersist.hxx @@ -111,6 +111,7 @@ public: oox::drawingml::TextListStylePtr getOtherTextStyle() const { return maOtherTextStylePtr; } oox::drawingml::ShapePtr getShapes() { return maShapesPtr; } + void dropShapes() { maShapesPtr->dropChildren(); } ::std::list< boost::shared_ptr< TimeNode > >& getTimeNodeList() { return maTimeNodeList; } oox::ppt::HeaderFooter& getHeaderFooter(){ return maHeaderFooter; }; diff --git a/oox/source/ppt/layoutfragmenthandler.cxx b/oox/source/ppt/layoutfragmenthandler.cxx index 6697f8190db2..a28f4b2d654c 100644 --- a/oox/source/ppt/layoutfragmenthandler.cxx +++ b/oox/source/ppt/layoutfragmenthandler.cxx @@ -65,8 +65,15 @@ ContextHandlerRef LayoutFragmentHandler::onCreateContext( sal_Int32 aElementToke switch( aElementToken ) { case PPT_TOKEN( sldLayout ): // CT_SlideLayout + { mpSlidePersistPtr->setLayoutValueToken( rAttribs.getToken( XML_type, 0 ) ); // CT_SlideLayoutType + + OptValue< bool > aShowMasterShapes = rAttribs.getBool( XML_showMasterSp ); + if( aShowMasterShapes.has() && !aShowMasterShapes.get() ) { + mpSlidePersistPtr->dropShapes(); + } break; + } case PPT_TOKEN( hf ): // CT_HeaderFooter return new HeaderFooterContext( *this, rAttribs, mpSlidePersistPtr->getHeaderFooter() ); break; |