On Fri, 19 Jan 2024 16:07:31 GMT, Michael Strauß <[email protected]> wrote:
> The `Animation` class states in the documentation of various methods that the
> method call would be asynchronous, using language similar to:
>
>
> {@code stop()} is an asynchronous call, the {@code Animation} may not stop
> immediately.
>
>
> This is factually wrong, there are no asynchronous calls. In fact, the
> methods in question can only be called synchronously on the JavaFX
> Application thread, and the state of the animation is changed immediately.
> For example, when `stop()` is called, the animation transitions to the
> stopped state instantly, without waiting for the next animation pulse.
I think this is a good change. All animation code always runs on the FX thread.
Calling start/stop etc on a different thread would mess with flags like
`aborted` and `inTimePulse` which are not marked volatile. This change should
probably have been made when the FX thread enforcing was added.
-------------
Marked as reviewed by jhendrikx (Committer).
PR Review: https://git.openjdk.org/jfx/pull/1342#pullrequestreview-1834736625