RE: ProgressIndicator indeterminate transition bugs

2016-02-28 Thread Cirujano Cuesta, Diego
Hi Jonathan:

I thought they would be reopened that´s why I did not create them. Here there 
are:
JI-9029954
JI-9029955

By the way I also created another one for a few weeks (28.01.2016) JI-9029025 
but I did not receive anything else.

I do not know if I am creating the bugs in a wrong place or what. I am using: 
http://bugreport.java.com/

What can I do in order to write comments in the JBS bugs?

Thanks,
Diego

-Original Message-
From: Jonathan Giles [mailto:jonathan.gi...@oracle.com] 
Sent: Sonntag, 28. Februar 2016 22:54
To: Cirujano Cuesta, Diego; openjfx-dev@openjdk.java.net
Subject: Re: ProgressIndicator indeterminate transition bugs

If you can, are you able to file bug reports for these?

-- Jonathan

On 29/02/16 10:49 AM, Cirujano Cuesta, Diego wrote:
> Hi all,
>
> We found two important bugs in ProgressIndicator that are related with the 
> following tickets:
>
> https://bugs.openjdk.java.net/browse/JDK-8094829
> https://bugs.openjdk.java.net/browse/JDK-8094078
>
> Now are quite critical because in a 4K monitor may cause OutOfMemoryException.
>
> Using the following example:
> "
> 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();
>  }
> }
> "
>
> ** First bug **
>
> Starting the Progress Indicator with indeterminate progress will 
> trigger: rebuildTimeline by ProgressIndicatorSkin and in line 599 
> start the animation even is not shown already: 
> indeterminateTransition.playFromStart();
>
> ** Second bug **
>
> With the last commits in ProgressIndicator, as commented in JDK-8094829, the 
> listeners do not care about the real visibility of the node(before it was 
> used impl_treeVisibleProperty()). The consequence is that the 
> ProgressIndicator in the example won´t be stopped.
>
> I can imagine that impl_treeVisibleProperty() should not be used and Jonathan 
> G. said: " but I can't reliably fix that without an API such as what I expect 
> the treeVisible API should do." But we did not find such alternative property.
>
> The solution we though is the usage of internal tree visible property like 
> this:
>
> 1. Modify method:
> "
>   protected void updateAnimation(boolean isTreeVisible) { "
> 2. Remove current calls to method in
> "
>   @Override protected void handleControlPropertyChanged(String p) {
>  super.handleControlPropertyChanged(p);
>
>  if ("INDETERMINATE".equals(p)) {
>  initialize();
>  } else if ("PROGRESS".equals(p)) {
>  updateProgress();
>  }
>   }
> "
> 3. Add listener at the end of the IndeterminateSpinner contructor the 
> visibility listener:
> "
>  private IndeterminateSpinner(boolean spinEnabled, Paint 
> fillOverride) {
>   [...]
>  impl_treeVisibleProperty().addListener((obs, oldVal, newVal) ->{
>  updateAnimation(newVal);
>  });
> }
> "
>
> What do you think?
>
> Additional note: I would like to add one more thing. I think that could be 
> very good a property ReadOnlyBooleanProperty treeVisibleProperty() available 
> in all Nodes.
>
> Please let me know if we can do something else.
>
> Diego



Re: ProgressIndicator indeterminate transition bugs

2016-02-28 Thread Jonathan Giles

If you can, are you able to file bug reports for these?

-- Jonathan

On 29/02/16 10:49 AM, Cirujano Cuesta, Diego wrote:

Hi all,

We found two important bugs in ProgressIndicator that are related with the 
following tickets:

https://bugs.openjdk.java.net/browse/JDK-8094829
https://bugs.openjdk.java.net/browse/JDK-8094078

Now are quite critical because in a 4K monitor may cause OutOfMemoryException.

Using the following example:
"
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();
 }
}
"

** First bug **

Starting the Progress Indicator with indeterminate progress will trigger: 
rebuildTimeline by ProgressIndicatorSkin and in line 599 start the animation 
even is not shown already: indeterminateTransition.playFromStart();

** Second bug **

With the last commits in ProgressIndicator, as commented in JDK-8094829, the 
listeners do not care about the real visibility of the node(before it was used 
impl_treeVisibleProperty()). The consequence is that the ProgressIndicator in 
the example won´t be stopped.

I can imagine that impl_treeVisibleProperty() should not be used and Jonathan G. said: 
" but I can't reliably fix that without an API such as what I expect the treeVisible 
API should do." But we did not find such alternative property.

The solution we though is the usage of internal tree visible property like this:

1. Modify method:
"
protected void updateAnimation(boolean isTreeVisible) {
"
2. Remove current calls to method in
"
@Override protected void handleControlPropertyChanged(String p) {
 super.handleControlPropertyChanged(p);

 if ("INDETERMINATE".equals(p)) {
 initialize();
 } else if ("PROGRESS".equals(p)) {
 updateProgress();
 }
}
"
3. Add listener at the end of the IndeterminateSpinner contructor the 
visibility listener:
"
 private IndeterminateSpinner(boolean spinEnabled, Paint fillOverride) {
[...]
 impl_treeVisibleProperty().addListener((obs, oldVal, newVal) ->{
 updateAnimation(newVal);
 });
  }
"

What do you think?

Additional note: I would like to add one more thing. I think that could be very 
good a property ReadOnlyBooleanProperty treeVisibleProperty() available in all 
Nodes.

Please let me know if we can do something else.

Diego




ProgressIndicator indeterminate transition bugs

2016-02-28 Thread Cirujano Cuesta, Diego
Hi all,

We found two important bugs in ProgressIndicator that are related with the 
following tickets:

https://bugs.openjdk.java.net/browse/JDK-8094829
https://bugs.openjdk.java.net/browse/JDK-8094078

Now are quite critical because in a 4K monitor may cause OutOfMemoryException.

Using the following example:
"
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();
}
}
"

** First bug **

Starting the Progress Indicator with indeterminate progress will trigger: 
rebuildTimeline by ProgressIndicatorSkin and in line 599 start the animation 
even is not shown already: indeterminateTransition.playFromStart();

** Second bug **

With the last commits in ProgressIndicator, as commented in JDK-8094829, the 
listeners do not care about the real visibility of the node(before it was used 
impl_treeVisibleProperty()). The consequence is that the ProgressIndicator in 
the example won´t be stopped.

I can imagine that impl_treeVisibleProperty() should not be used and Jonathan 
G. said: " but I can't reliably fix that without an API such as what I expect 
the treeVisible API should do." But we did not find such alternative property.

The solution we though is the usage of internal tree visible property like this:

1. Modify method:
" 
protected void updateAnimation(boolean isTreeVisible) {
"
2. Remove current calls to method in 
"
@Override protected void handleControlPropertyChanged(String p) {
super.handleControlPropertyChanged(p);

if ("INDETERMINATE".equals(p)) {
initialize();
} else if ("PROGRESS".equals(p)) {
updateProgress();
}
}
"
3. Add listener at the end of the IndeterminateSpinner contructor the 
visibility listener:
"
private IndeterminateSpinner(boolean spinEnabled, Paint fillOverride) {
[...]
impl_treeVisibleProperty().addListener((obs, oldVal, newVal) ->{
updateAnimation(newVal);
});
  }
"

What do you think?

Additional note: I would like to add one more thing. I think that could be very 
good a property ReadOnlyBooleanProperty treeVisibleProperty() available in all 
Nodes.

Please let me know if we can do something else.

Diego


RE: [Review request] 8090477: Customizable visibility timing for Tooltip

2016-02-28 Thread Cirujano Cuesta, Diego
Hi Jonathan,

I saw that was already reviewed, good!. I tested it also and it works like a 
charm.

Thanks,
Diego




GLS language errors (Was: Internal error: Error loading stock shader FillRoundRect_LinearGradient,_PAD on Vivante ARM)

2016-02-28 Thread Maurice
  When I run the glslangValidator on 
FillRoundRect_LinearGradient_PAD.frag it gives the following error:
ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es


When I move pixcoord's declaration on line 19 into the main() function 
it gives no errors.


This is the full output of find -name "*.frag" -exec glslangValidator {} \;

ERROR: 0:53: 'oTexCoords' : undeclared identifier
ERROR: 0:53: 'texture2D' : no matching overloaded function found
ERROR: 0:53: '=' :  cannot convert from 'const float' to 'temp highp 
4-component vector of float'

ERROR: 3 compilation errors.  No code generated.


ERROR: 0:55: 'oTexCoords' : undeclared identifier
ERROR: 0:55: 'texture2D' : no matching overloaded function found
ERROR: 0:55: 'scalar swizzle' : not supported with this profile: es
ERROR: 0:55: 'rgb' : vector field selection out of range
ERROR: 0:55: '=' :  cannot convert from 'const float' to 'temp highp 
3-component vector of float'

ERROR: 5 compilation errors.  No code generated.


ERROR: 0:53: 'oTexCoords' : undeclared identifier
ERROR: 0:53: 'texture2D' : no matching overloaded function found
WARNING: 0:53: 'return' : type conversion on return values was not 
explicitly allowed until version 420

ERROR: 2 compilation errors.  No code generated.


ERROR: 0:55: 'oTexCoords' : undeclared identifier
ERROR: 0:55: 'texture2D' : no matching overloaded function found
ERROR: 0:55: 'scalar swizzle' : not supported with this profile: es
ERROR: 0:55: 'rgb' : vector field selection out of range
ERROR: 0:55: '=' :  cannot convert from 'const float' to 'temp highp 
3-component vector of float'

ERROR: 5 compilation errors.  No code generated.


ERROR: 0:18: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:18: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:53: 'oTexCoords' : undeclared identifier
ERROR: 0:53: 'texture2D' : no matching overloaded function found
ERROR: 0:53: '=' :  cannot convert from 'const float' to 'temp highp 
4-component vector of float'

ERROR: 3 compilation errors.  No code generated.


ERROR: 0:55: 'oTexCoords' : undeclared identifier
ERROR: 0:55: 'texture2D' : no matching overloaded function found
ERROR: 0:55: 'scalar swizzle' : not supported with this profile: es
ERROR: 0:55: 'rgb' : vector field selection out of range
ERROR: 0:55: '=' :  cannot convert from 'const float' to 'temp highp 
3-component vector of float'

ERROR: 5 compilation errors.  No code generated.


ERROR: 0:53: 'oTexCoords' : undeclared identifier
ERROR: 0:53: 'texture2D' : no matching overloaded function found
WARNING: 0:53: 'return' : type conversion on return values was not 
explicitly allowed until version 420

ERROR: 2 compilation errors.  No code generated.


ERROR: 0:55: 'oTexCoords' : undeclared identifier
ERROR: 0:55: 'texture2D' : no matching overloaded function found
ERROR: 0:55: 'scalar swizzle' : not supported with this profile: es
ERROR: 0:55: 'rgb' : vector field selection out of range
ERROR: 0:55: '=' :  cannot convert from 'const float' to 'temp highp 
3-component vector of float'

ERROR: 5 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:17: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:19: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:17: 'non-constant global initializer' : not supported with this 
profile: es

ERROR: 1 compilation errors.  No code generated.


ERROR: 0:18: 'non-constant global initializer' : not