diff options
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/ppt/pptshape.cxx | 17 | ||||
-rw-r--r-- | oox/source/ppt/slidepersist.cxx | 2 |
2 files changed, 16 insertions, 3 deletions
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index 17ceb301a7fc..0bd2ce453886 100644 --- a/oox/source/ppt/pptshape.cxx +++ b/oox/source/ppt/pptshape.cxx @@ -308,9 +308,22 @@ void PPTShape::addShape( if ( !sServiceName.isEmpty() ) { - // use style from master slide for placeholders only, otherwise use slide's style, which might be the default style from presentation if ( !aMasterTextListStyle.get() ) - aMasterTextListStyle = ( mnSubType && rSlidePersist.getMasterPersist().get() ) ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle(); + { + bool isOther = !getTextBody().get(); + TextListStylePtr aSlideStyle = isOther ? rSlidePersist.getOtherTextStyle() : rSlidePersist.getDefaultTextStyle(); + // Combine from MasterSlide details as well. + if( rSlidePersist.getMasterPersist().get() ) + { + aMasterTextListStyle = isOther ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getMasterPersist()->getDefaultTextStyle(); + if( aSlideStyle.get() ) + aMasterTextListStyle->apply( *aSlideStyle.get() ); + } + else + { + aMasterTextListStyle = aSlideStyle; + } + } if( aMasterTextListStyle.get() && getTextBody().get() ) { TextListStylePtr aCombinedTextListStyle (new TextListStyle()); diff --git a/oox/source/ppt/slidepersist.cxx b/oox/source/ppt/slidepersist.cxx index 91f773457a03..77432aee694d 100644 --- a/oox/source/ppt/slidepersist.cxx +++ b/oox/source/ppt/slidepersist.cxx @@ -71,8 +71,8 @@ SlidePersist::SlidePersist( XmlFilterBase& rFilter, sal_Bool bMaster, sal_Bool b maTitleTextStylePtr->apply( *pDefaultTextStyle.get() ); maBodyTextStylePtr->apply( *pDefaultTextStyle.get() ); maNotesTextStylePtr->apply( *pDefaultTextStyle.get() ); - */ maOtherTextStylePtr->apply( *pDefaultTextStyle.get() ); + */ } #if OSL_DEBUG_LEVEL > 0 mxDebugPage = mxPage; |