[Libreoffice-commits] core.git: sd/source

Andre Fischer af at apache.org
Mon Apr 8 13:12:53 PDT 2013


 sd/source/filter/ppt/pptin.cxx |   17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

New commits:
commit aac0ada9914c87c8c1c017744548602374f80320
Author: Andre Fischer <af at apache.org>
Date:   Mon Jul 9 12:59:06 2012 +0000

    Fix #i119545# Fixed import of master page layout from PPT.
    
    Reported by: Li Feng Wang
    Patch by: SunYing
    Review by: Andre Fischer
    (cherry picked from commit f7da26f51bfaddecd7b774bc237d6f5fa082e57c)
    
    Conflicts:
    	sd/source/filter/ppt/pptin.cxx
    
    Change-Id: Ic946de22b3f7ab1d498e71f3d5752ad6f89e2de5

diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index 1bbb915..4e67229 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 );


More information about the Libreoffice-commits mailing list