Index: filter/source/msfilter/svdfppt.cxx =================================================================== --- filter/source/msfilter/svdfppt.cxx (revision 1370101) +++ filter/source/msfilter/svdfppt.cxx (working copy) @@ -5165,9 +5165,15 @@ if ( nMask & 0x4000 ) // pfSpaceAfter rIn >> aSet.mpArry[ PPT_ParaAttr_LowerDist ]; if ( nMask & 0x100 ) // pfLeftMargin - rIn >> nDummy16; + { + rIn >> aSet.mpArry[ PPT_ParaAttr_TextOfs ]; + aSet.mnAttrSet |= 1 << PPT_ParaAttr_TextOfs; + } if ( nMask & 0x400 ) // pfIndent - rIn >> nDummy16; + { + rIn >> aSet.mpArry[ PPT_ParaAttr_BulletOfs ]; + aSet.mnAttrSet |= 1 << PPT_ParaAttr_BulletOfs; + } if ( nMask & 0x8000 ) // pfDefaultTabSize rIn >> nDummy16; if ( nMask & 0x100000 ) // pfTabStops @@ -5199,9 +5205,9 @@ else nCharCount = nStringLen; - if ( rRuler.GetTextOfs( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_TextOfs ] ) ) + if ( ( !( aSet.mnAttrSet & 1 << PPT_ParaAttr_TextOfs ) ) && rRuler.GetTextOfs( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_TextOfs ] ) ) aSet.mnAttrSet |= 1 << PPT_ParaAttr_TextOfs; - if ( rRuler.GetBulletOfs( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_BulletOfs ] ) ) + if ( ( !( aSet.mnAttrSet & 1 << PPT_ParaAttr_BulletOfs ) ) && rRuler.GetBulletOfs( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_BulletOfs ] ) ) aSet.mnAttrSet |= 1 << PPT_ParaAttr_BulletOfs; if ( rRuler.GetDefaultTab( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_DefaultTab ] ) ) aSet.mnAttrSet |= 1 << PPT_ParaAttr_DefaultTab; Index: sd/source/filter/eppt/epptso.cxx =================================================================== --- sd/source/filter/eppt/epptso.cxx (revision 1370101) +++ sd/source/filter/eppt/epptso.cxx (working copy) @@ -1406,6 +1406,13 @@ nPropertyFlags |= 1; // turn off bullet explicit nBulletFlags = 0; } + + // Write nTextOfs and nBullets + if ( mpStyleSheet->IsHardAttribute( nInstance, nDepth, ParaAttr_TextOfs, pPara->nTextOfs ) ) + nPropertyFlags |= 0x100; + if ( mpStyleSheet->IsHardAttribute( nInstance, nDepth, ParaAttr_BulletOfs, pPara->nBulletOfs )) + nPropertyFlags |= 0x400; + FontCollectionEntry aFontDescEntry( pPara->aFontDesc.Name, pPara->aFontDesc.Family, pPara->aFontDesc.Pitch, pPara->aFontDesc.CharSet ); sal_uInt16 nFontId = (sal_uInt16)maFontCollection.GetId( aFontDescEntry ); @@ -1444,6 +1451,10 @@ rOut << (sal_uInt16)( pPara->mnLineSpacingTop ); if ( nPropertyFlags & 0x00004000 ) rOut << (sal_uInt16)( pPara->mnLineSpacingBottom ); + if ( nPropertyFlags & 0x100 ) + rOut << (sal_uInt16)(pPara->nTextOfs); + if ( nPropertyFlags & 0x400 ) + rOut << (sal_uInt16)(pPara->nBulletOfs); if ( nPropertyFlags & 0x000e0000 ) { sal_uInt16 nAsianSettings = 0;