summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/source/filter/ppt/pptin.cxx17
1 files changed, 13 insertions, 4 deletions
diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index 1bbb9155c80f..4e67229a58b3 100644
--- a/sd/source/filter/ppt/pptin.cxx
+++ b/sd/source/filter/ppt/pptin.cxx
@@ -627,7 +627,13 @@ sal_Bool ImplSdPPTImport::Import()
{
sal_uInt32 nTitleInstance = TSS_TYPE_PAGETITLE;
sal_uInt32 nOutlinerInstance = TSS_TYPE_BODY;
-
+ const PptSlideLayoutAtom* pSlideLayout = GetSlideLayoutAtom();
+ sal_Bool bSwapStyleSheet = pSlideLayout->eLayout == PPT_LAYOUT_TITLEMASTERSLIDE;
+ if ( bSwapStyleSheet )
+ {
+ nTitleInstance = TSS_TYPE_TITLE;
+ nOutlinerInstance = TSS_TYPE_SUBTITLE;
+ }
/////////////////////
// titelstylesheet //
/////////////////////
@@ -994,7 +1000,6 @@ sal_Bool ImplSdPPTImport::Import()
if( pStbMgr )
pStbMgr->SetState( nImportedPages++ );
}
- //////////////
}
else
{
@@ -2261,7 +2266,7 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj
{
if ( eAktPageKind == PPT_MASTERPAGE )
{
- sal_Bool bCreatePlaceHolder = ( pTextObj->GetInstance() != TSS_TYPE_SUBTITLE ) && ( pTextObj->GetInstance() != TSS_TYPE_UNUSED );
+ sal_Bool bCreatePlaceHolder = ( pTextObj->GetInstance() != TSS_TYPE_UNUSED );
sal_Bool bIsHeaderFooter = ( ePresKind == PRESOBJ_HEADER) || (ePresKind == PRESOBJ_FOOTER)
|| (ePresKind == PRESOBJ_DATETIME) || (ePresKind == PRESOBJ_SLIDENUMBER);
if ( bCreatePlaceHolder && ( pTextObj->GetInstance() == TSS_TYPE_TEXT_IN_SHAPE ) )
@@ -2293,6 +2298,11 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj
rItemSet.Put( (SdrTextLowerDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LOWERDIST ) );
rItemSet.Put( (SdrTextVertAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_VERTADJUST ) );
rItemSet.Put( (SdrTextHorzAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_HORZADJUST ) );
+ if ( pTextObj->GetInstance() == TSS_TYPE_TITLE
+ || pTextObj->GetInstance() == TSS_TYPE_SUBTITLE)
+ {
+ rItemSet.Put( pText->GetMergedItemSet() );
+ }
}
pText->NbcSetStyleSheet( pSheet2, sal_False );
}
@@ -2649,7 +2659,6 @@ SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
}
maAnimations[pMediaObj] = pAnimation;
}
- //--
SdrObject::Free( pObj ), pObj = pMediaObj; // SJ: hoping that pObj is not inserted in any list
pMediaObj->setURL( aMediaURL );