diff options
Diffstat (limited to 'slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx')
-rw-r--r-- | slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx b/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx index 683fe7bd9707..79046f50251a 100644 --- a/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx +++ b/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx @@ -63,7 +63,9 @@ void SequentialTimeContainer::activate_st() { // deactivate ASAP: scheduleDeactivationEvent( - makeEvent( boost::bind< void >( boost::mem_fn( &AnimationNode::deactivate ), getSelf() ) ) ); + makeEvent( + boost::bind< void >( boost::mem_fn( &AnimationNode::deactivate ), getSelf() ), + "SequentialTimeContainer::deactivate") ); } else // use default scheduleDeactivationEvent(); @@ -88,8 +90,10 @@ void SequentialTimeContainer::skipEffect( if (isChildNode(pChildNode)) { // empty all events ignoring timings => until next effect getContext().mrEventQueue.forceEmpty(); - getContext().mrEventQueue.addEventForNextRound( - makeEvent( boost::bind<void>( boost::mem_fn( &AnimationNode::deactivate ), pChildNode ) ) ); + getContext().mrEventQueue.addEvent( + makeEvent( + boost::bind<void>( boost::mem_fn( &AnimationNode::deactivate ), pChildNode ), + "SequentialTimeContainer::deactivate, skipEffect with delay") ); } else OSL_ENSURE( false, "unknown notifier!" ); @@ -116,16 +120,19 @@ bool SequentialTimeContainer::resolveChild( mpCurrentSkipEvent = makeEvent( boost::bind( &SequentialTimeContainer::skipEffect, boost::dynamic_pointer_cast<SequentialTimeContainer>( getSelf() ), - pChildNode ) ); + pChildNode ), + "SequentialTimeContainer::skipEffect, resolveChild"); // event that will reresolve the resolved/activated child: mpCurrentRewindEvent = makeEvent( boost::bind( &SequentialTimeContainer::rewindEffect, boost::dynamic_pointer_cast<SequentialTimeContainer>( getSelf() ), - pChildNode ) ); + pChildNode ), + "SequentialTimeContainer::rewindEffect, resolveChild"); // deactivate child node when skip event occurs: getContext().mrUserEventQueue.registerSkipEffectEvent( - mpCurrentSkipEvent ); + mpCurrentSkipEvent, + mnFinishedChildren+1<maChildren.size()); // rewind to previous child: getContext().mrUserEventQueue.registerRewindEffectEvent( mpCurrentRewindEvent ); |