On Thu, 20 Jan 2022 17:19:49 GMT, Nir Lisker <nlis...@openjdk.org> wrote:

>> John Hendrikx has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Fix grammar mistakes and did some small rephrases
>
> modules/javafx.base/src/main/java/javafx/beans/value/LazyObjectBinding.java 
> line 91:
> 
>> 89:              *
>> 90:              * As the binding must be valid after it becomes observed 
>> the first time
>> 91:              * 'get' is called again.
> 
> Maybe add an `@link` to `ExpressionHelper` where the validation happens 
> before listener registration, for clarity.

I've added this additional text:

             * See com.sun.javafx.binding.ExpressionHelper (which is used
             * by ObjectBinding) where it will do a call to 
ObservableValue#getValue
             * BEFORE adding the actual listener. This results in 
ObjectBinding#get
             * to be called in which the #allowValidation call will block it 
from
             * becoming valid as the condition is "isObserved()"; this is 
technically
             * correct as the listener wasn't added yet, but means we must call
             * #get again to make this binding valid.

This might be something we can fix in future work, to avoid this double call to 
`get`.

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

PR: https://git.openjdk.java.net/jfx/pull/675

Reply via email to