On Tue, 3 Sep 2024 13:08:01 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

>> Michael Strauß has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   typo
>
> modules/javafx.graphics/src/main/java/javafx/css/StyleableLongProperty.java 
> line 140:
> 
>> 138:             long diff = endValue - startValue;
>> 139:             long result = startValue + Math.round(progress * diff);
>> 140:             set(progress < 1 ? Utils.clamp(startValue, result, 
>> endValue) : endValue);
> 
> `clamp` won't solve that if `progress = 1.0` that the calculation may result 
> in a value less than `endValue`.  You need both the `clamp` and a special 
> case:
> 
>     set(progress == 1.0 ? endValue : progress < 1 ? Utils.clamp(startValue, 
> result, endValue) : endValue);
> 
> Use `==` or `>=` I don't know what's better.
> 
> I'm assuming that it is important that `endValue` is returned when `progress 
> = 1.0`

I don't understand this. If progress != 1, then it must be < 1 by definition. 
It can never be > 1.
So the current implementation will just ignore the result of the computation 
for the special case (result = 1):

set(progress < 1 ? Utils.clamp(startValue, result, endValue) : endValue);

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1522#discussion_r1742098330

Reply via email to