sd/inc/CustomAnimationEffect.hxx | 4 +++- sd/source/core/CustomAnimationEffect.cxx | 17 ++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-)
New commits: commit 5c2c03e9062d0c86d385a56c3ce1f536944927a2 Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed May 9 00:14:32 2012 +0200 Fix fdo#43619 Animating only 2nd level paragraphs hides 1st level diff --git a/sd/inc/CustomAnimationEffect.hxx b/sd/inc/CustomAnimationEffect.hxx index 5d0c5e5..860db64 100644 --- a/sd/inc/CustomAnimationEffect.hxx +++ b/sd/inc/CustomAnimationEffect.hxx @@ -271,12 +271,14 @@ private: EffectSequence maEffects; ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape > maTarget; + enum { PARA_LEVELS = 5 }; + sal_Int32 mnTextGrouping; sal_Bool mbAnimateForm; sal_Bool mbTextReverse; double mfGroupingAuto; sal_Int32 mnLastPara; - sal_Int8 mnDepthFlags[5]; + sal_Int8 mnDepthFlags[PARA_LEVELS]; sal_Int32 mnGroupId; }; diff --git a/sd/source/core/CustomAnimationEffect.cxx b/sd/source/core/CustomAnimationEffect.cxx index fe4ebdf..ab20da4 100644 --- a/sd/source/core/CustomAnimationEffect.cxx +++ b/sd/source/core/CustomAnimationEffect.cxx @@ -2461,8 +2461,10 @@ void CustomAnimationTextGroup::reset() mfGroupingAuto = -1.0; mnLastPara = -1; // used to check for TextReverse - int i = 5; - while( i-- ) mnDepthFlags[i] = 0; + for (int i = 0; i < PARA_LEVELS; ++i) + { + mnDepthFlags[i] = 0; + } maEffects.clear(); } @@ -2487,8 +2489,8 @@ void CustomAnimationTextGroup::addEffect( CustomAnimationEffectPtr& pEffect ) const sal_Int32 nParaDepth = pEffect->getParaDepth(); - // only look at the first 5 levels - if( nParaDepth < 5 ) + // only look at the first PARA_LEVELS levels + if( nParaDepth < PARA_LEVELS ) { // our first paragraph with this level? if( mnDepthFlags[nParaDepth] == 0 ) @@ -2504,9 +2506,10 @@ void CustomAnimationTextGroup::addEffect( CustomAnimationEffectPtr& pEffect ) if( pEffect->getNodeType() == EffectNodeType::AFTER_PREVIOUS ) mfGroupingAuto = pEffect->getBegin(); - mnTextGrouping = 0; - while( (mnTextGrouping < 5) && (mnDepthFlags[mnTextGrouping] > 0) ) - mnTextGrouping++; + mnTextGrouping = PARA_LEVELS; + while( (mnTextGrouping > 0) + && (mnDepthFlags[mnTextGrouping - 1] <= 0) ) + --mnTextGrouping; } } else _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits