You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by su...@apache.org on 2012/09/19 10:09:21 UTC
svn commit: r1387482 - in /incubator/ooo/trunk/main:
editeng/source/outliner/outliner.cxx filter/source/msfilter/svdfppt.cxx
Author: sunying
Date: Wed Sep 19 08:09:20 2012
New Revision: 1387482
URL: http://svn.apache.org/viewvc?rev=1387482&view=rev
Log:
#119477# fix bullet's start with error when save .ppt file
Reported by: Liu Ping Tan
Patch by: Ying Sun
Review by: Steve Yin.
Modified:
incubator/ooo/trunk/main/editeng/source/outliner/outliner.cxx
incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx
Modified: incubator/ooo/trunk/main/editeng/source/outliner/outliner.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/editeng/source/outliner/outliner.cxx?rev=1387482&r1=1387481&r2=1387482&view=diff
==============================================================================
--- incubator/ooo/trunk/main/editeng/source/outliner/outliner.cxx (original)
+++ incubator/ooo/trunk/main/editeng/source/outliner/outliner.cxx Wed Sep 19 08:09:20 2012
@@ -1913,10 +1913,16 @@ sal_uInt16 Outliner::ImplGetNumbering( s
if( pFmt == 0 )
continue; // ignore paragraphs without bullets
- // check if numbering is the same
- if( !isSameNumbering( *pFmt, *pParaFmt ) )
+ // check if numbering less than or equal to pParaFmt
+ if( !isSameNumbering( *pFmt, *pParaFmt ) || ( pFmt->GetStart() < pParaFmt->GetStart() ) )
break;
+ if ( pFmt->GetStart() > pParaFmt->GetStart() )
+ {
+ nNumber += pFmt->GetStart() - pParaFmt->GetStart();
+ pParaFmt = pFmt;
+ }
+
const SfxBoolItem& rBulletState = (const SfxBoolItem&) pEditEngine->GetParaAttrib( nPara, EE_PARA_BULLETSTATE );
if( rBulletState.GetValue() )
Modified: incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx?rev=1387482&r1=1387481&r2=1387482&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx (original)
+++ incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx Wed Sep 19 08:09:20 2012
@@ -2512,19 +2512,6 @@ SdrObject* SdrPowerPointImport::ApplyTex
if ( !nIsBullet2 )
aParagraphAttribs.Put( SfxBoolItem( EE_PARA_BULLETSTATE, sal_False ) );
- if ( oStartNumbering )
- {
- if ( *oStartNumbering != nLastStartNumbering )
- rOutliner.SetNumberingStartValue( nParaIndex, *oStartNumbering );
- else
- rOutliner.SetNumberingStartValue( nParaIndex, -1 );
- nLastStartNumbering = *oStartNumbering;
- }
- else
- {
- nLastStartNumbering = -1;
- rOutliner.SetNumberingStartValue( nParaIndex, nLastStartNumbering );
- }
pPreviousParagraph = pPara;
if ( !aSelection.nStartPos ) // in PPT empty paragraphs never gets a bullet
@@ -3910,6 +3897,13 @@ sal_Bool PPTNumberFormatCreator::ImplGet
break;
}
rStartNumbering = boost::optional< sal_Int16 >( nAnmScheme >> 16 );
+ sal_Int16 nBuStart = *rStartNumbering;
+ //The Seventh bit of nBuFlags that specifies whether fBulletHasAutoNumber exists,
+ //and fBulletHasAutoNumber that specifies whether this paragraph has an automatic numbering scheme.
+ if ( ( nBuFlags & 0x02000000 ) && ( nBuStart != 1 ))
+ {
+ rNumberFormat.SetStart( static_cast<sal_uInt16>(nBuStart) );
+ }
}
return bHardAttribute;
}