From 0e52421ac8e4ada68eb09f2a326878772c302836 Mon Sep 17 00:00:00 2001 From: Bowon Ryu Date: Thu, 25 Jul 2024 13:28:54 +0900 Subject: [PATCH] Fix auto scroll immediate stop issue In case of immediate stop, ScrollingFinished is called directly.. without using the AutoScrollAnimationFinished callback due to timing issues. Change-Id: I72b12599c2a288918b67da0f29f180f0c94ccf3d Signed-off-by: Bowon Ryu --- dali-toolkit/internal/text/text-scroller.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dali-toolkit/internal/text/text-scroller.cpp b/dali-toolkit/internal/text/text-scroller.cpp index 782365a..bd86739 100644 --- a/dali-toolkit/internal/text/text-scroller.cpp +++ b/dali-toolkit/internal/text/text-scroller.cpp @@ -150,8 +150,9 @@ void TextScroller::StopScrolling() { case TextLabel::AutoScrollStopMode::IMMEDIATE: { - mIsStop = true; + mIsStop = false; mScrollAnimation.Stop(); + mScrollerInterface.ScrollingFinished(); break; } case TextLabel::AutoScrollStopMode::FINISH_LOOP: @@ -281,7 +282,10 @@ void TextScroller::AutoScrollAnimationFinished(Dali::Animation& animation) { DALI_LOG_INFO(gLogFilter, Debug::Verbose, "TextScroller::AutoScrollAnimationFinished\n"); mIsStop = false; - mScrollerInterface.ScrollingFinished(); + if(mStopMode == TextLabel::AutoScrollStopMode::FINISH_LOOP) + { + mScrollerInterface.ScrollingFinished(); + } } void TextScroller::StartScrolling(Actor scrollingTextActor, float scrollAmount, float scrollDuration, int loopCount) -- 2.7.4