diff options
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/slideshowimpl.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx index f681dc2a9559..33a9825e544a 100644 --- a/slideshow/source/engine/slideshowimpl.cxx +++ b/slideshow/source/engine/slideshowimpl.cxx @@ -479,6 +479,7 @@ private: bool mbShowPaused; bool mbSlideShowIdle; bool mbDisableAnimationZOrder; + bool mbMovingForward; EffectRewinder maEffectRewinder; FrameSynchronization maFrameSynchronization; @@ -590,6 +591,7 @@ SlideShowImpl::SlideShowImpl( mbShowPaused( false ), mbSlideShowIdle( true ), mbDisableAnimationZOrder( false ), + mbMovingForward( true ), maEffectRewinder(maEventMultiplexer, maEventQueue, maUserEventQueue), maFrameSynchronization(1.0 / FrameRate::PreferredFramesPerSecond) @@ -1215,6 +1217,7 @@ void SlideShowImpl::redisplayCurrentSlide() sal_Bool SlideShowImpl::nextEffect() { + mbMovingForward = true; osl::MutexGuard const guard( m_aMutex ); if (isDisposed()) @@ -1231,6 +1234,7 @@ sal_Bool SlideShowImpl::nextEffect() sal_Bool SlideShowImpl::previousEffect() { + mbMovingForward = false; osl::MutexGuard const guard( m_aMutex ); if (isDisposed()) @@ -2310,7 +2314,8 @@ void SlideShowImpl::notifySlideAnimationsEnded() // step slides manually. if( !mbForceManualAdvance && !mpRehearseTimingsActivity && - bHasAutomaticNextSlide ) + bHasAutomaticNextSlide && + mbMovingForward ) { aNotificationEvents = makeInterruptableDelay( [this]() { return this->notifySlideEnded( false ); }, |