On Fri, 10 Apr 2020 06:31:39 GMT, Nir Lisker <nlis...@openjdk.org> wrote:
> ### Cause > > `Animation#jumpTo(Duration)` does not handle `Duration.INDEFINITE` properly. > This causes > `InfiniteClipEnvelope#jumpTo(long)` to receive an erroneous value and start > the animation not from the end, depending > on the modulo calculation. ### Fix > > For infinite cycles, use the `cycleDuration` as the destination since that is > the effective end point. > > ### Tests > > * Added an `testJumpTo_IndefiniteCycles` test that fails without the patch > and passes after it. > * Added a `testJumpTo_IndefiniteCycleDuration` that passes both before and > after, just to make sure that this type of > infinite duration is correct. > * Removed a test in `SequentialTransition` that fails with this patch, but it > passed before it only because the modulo > value happened to land in the right place. Changing the duration of one of > the child animation can cause it to fail, so > the test is faulty anyway at this stage. > > ### Future work > > Playing backwards will still not work correctly, but at least now it start > from the correct value. This is the first of > a series of fixes under the umbrella issue > [JDK-8210238](https://bugs.openjdk.java.net/browse/JDK-8210238). looks good to me. ------------- Marked as reviewed by arapte (Reviewer). PR: https://git.openjdk.java.net/jfx/pull/169