JDK-8151165 : ProgressIndicator indeterminate transition initializated even in non visible controls
  • Type: Bug
  • Component: javafx
  • Sub-Component: controls
  • Affected Version: 8u66,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86_64
  • Submitted: 2016-02-28
  • Updated: 2017-11-14
  • Resolved: 2016-07-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Fixed
Related Reports
Blocks :  
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Windows 7 x64

A DESCRIPTION OF THE PROBLEM :
There is an animation started even if was not necessary.

REGRESSION.  Last worked in version 7u80

ADDITIONAL REGRESSION INFORMATION: 
I was running in version prior listeners refactoring in ProgressIndicatorSkin

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Start the provided application in section: "Source code for an executable test case"


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No animation running
ACTUAL -
The animation should not start. For example by profiling, com.sun.javafx.tk.Toolkit$$Lambda$111 is creating objects continuously.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
In a big application with JFXPanels in a 4K monitor occurs OutOfMemoryException.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
public class JFXMain extends Application{

    @Override
    public void start(Stage primaryStage) throws Exception {
        HBox root = new HBox();
        ToggleButton toggleButton = new ToggleButton();
        ProgressIndicator progressIndicator = new ProgressIndicator(ProgressIndicator.INDETERMINATE_PROGRESS);
        StackPane stackPane = new StackPane(progressIndicator);
        stackPane.visibleProperty().bind(toggleButton.selectedProperty());
        root.getChildren().addAll(toggleButton, stackPane);
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Remove all ProgressIndicators and make use of another solution to show the unknown process.


Comments
Changeset: http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/2ba47b597ec6 In fixing this issue, JDK-8151166 and JDK-8148827 are also resolved.
06-07-2016