From 844e62d5ab9ddc77a1ea859653549ea71bcb6656 Mon Sep 17 00:00:00 2001 From: Sun Ying Date: Thu, 16 Aug 2012 04:20:44 +0000 Subject: Fix #119523# fix the indent and left margin attribute lost when save as .ppt Reported by: liupingtan Patch by: Ying Sun Review by: Jian Yuan Li(cherry picked from commit 6fa2e38b9cd3ce0df5876d849bcba7d879a6e329) Conflicts: sd/source/filter/eppt/epptso.cxx Change-Id: I41150838d153c3b99e603924127787f5556ef383 --- filter/source/msfilter/svdfppt.cxx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'filter/source/msfilter/svdfppt.cxx') diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index cb8cce6d7b30..0921f64a01bd 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -4876,9 +4876,15 @@ void PPTStyleTextPropReader::ReadParaProps( SvStream& rIn, SdrPowerPointImport& 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 @@ -4910,9 +4916,10 @@ void PPTStyleTextPropReader::ReadParaProps( SvStream& rIn, SdrPowerPointImport& else nCharCount = nStringLen; - if ( rRuler.GetTextOfs( aParaPropSet.pParaSet->mnDepth, aSet.mpArry[ PPT_ParaAttr_TextOfs ] ) ) + //if the textofs attr has been read at above, need not to reset. + 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; -- cgit