Hello, please review this patch for issue JDK-8161664:
Bug: https://bugs.openjdk.java.net/browse/JDK-8161664 Patch: http://cr.openjdk.java.net/~rstevens/8161664/webrev.00/ The problem is that in certain scenarios, the Timer in the Animator of the AquaProgressBarUI does not get stopped when the progress bar is removed from the Swing hierarchy. Several approaches were discussed in another thread ( http://mail.openjdk.java.net/pipermail/swing-dev/2016-July/006330.html). In the linked webrev, I opted to use the same approach as what is done in the BasicProgressBarUI class: only start the timer when the progress bar is displayable. To achieve this, I wrapped all calls to startAnimationTimer with an if statement that checks the displayable state of the progress bar. There is one call to startAnimationTimer that is not adjusted. That call is only triggered from the paint method, which in turn is only triggered if the progress bar is displayable. As such, the if check was not needed there (imo). The patch includes a test, which fails without the fix and succeeds afterwards. Thanks, Robin