RFR: 8324658: Allow animation play/start/stop/pause methods to be called on any thread [v2]

Kevin Rushforth kcr at openjdk.org
Sat Jan 27 15:43:35 UTC 2024


On Sat, 27 Jan 2024 15:11:44 GMT, Nir Lisker <nlisker at openjdk.org> wrote:

>> Added a utility method to run code on the FX thread if it's not already, and changed the animation methods to use it.
>
> Nir Lisker has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Doc changes to AnimationTimer methods

modules/javafx.graphics/src/main/java/javafx/animation/Timeline.java line 196:

> 194:     @Override
> 195:     void stopOnFxThread() {
> 196:         // The parent check is redone in the super method. Consider refactoring.

As you've probably already seen, this causes infinite recursion and an eventual StackOverflow. The easiest (and probably safest) fix is to revert this part of the change, keeping the overridden `stop` method, and have it call a private `stopOnFxThread` method (and make the one in the parent class also private). You can file a bug to refactor it later.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1352#discussion_r1468509786


More information about the openjfx-dev mailing list