On Fri, 19 Jan 2024 16:07:31 GMT, Michael Strauß <mstra...@openjdk.org> 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