From 951a4251f2824ab9b306c04fffafbe4913c7c569 Mon Sep 17 00:00:00 2001 From: Maxwell Talbot <talbot.maxwell@gmail.com> Date: Wed, 30 Sep 2020 09:42:17 +0100 Subject: [PATCH] stop the stopwatch if we are no longer advancing the animations, so they do not jump to an unintended timepoint when restarted --- lib/src/rive_render_box.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/rive_render_box.dart b/lib/src/rive_render_box.dart index 851240a..4a4e0d2 100644 --- a/lib/src/rive_render_box.dart +++ b/lib/src/rive_render_box.dart @@ -92,6 +92,7 @@ abstract class RiveRenderBox extends RenderBox { void _frameCallback(Duration duration) { _elapsedSeconds = _stopwatch.elapsedTicks / _stopwatch.frequency; _stopwatch.reset(); + _stopwatch.start(); markNeedsPaint(); } @@ -109,6 +110,8 @@ abstract class RiveRenderBox extends RenderBox { _frameCallbackId = null; if (advance(_elapsedSeconds)) { scheduleRepaint(); + } else { + _stopwatch.stop(); } _elapsedSeconds = 0;