Fix auto scroll immediate stop issue
authorBowon Ryu <bowon.ryu@samsung.com>
Thu, 25 Jul 2024 04:28:54 +0000 (13:28 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Thu, 25 Jul 2024 04:28:54 +0000 (13:28 +0900)
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 <bowon.ryu@samsung.com>
dali-toolkit/internal/text/text-scroller.cpp

index 782365a..bd86739 100644 (file)
@@ -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)