RFR: 8089589: [ListView] ScrollBar content moves toward-backward during scrolling. [v2]
Kevin Rushforth
kcr at openjdk.java.net
Mon Apr 12 13:07:39 UTC 2021
On Mon, 12 Apr 2021 09:32:27 GMT, Johan Vos <jvos at openjdk.org> wrote:
>> modules/javafx.controls/src/main/java/javafx/scene/control/skin/VirtualFlow.java line 2972:
>>
>>> 2970: // Make sure we have enough space in the cache to store this index
>>> 2971: while (idx >= itemSizeCache.size()) {
>>> 2972: itemSizeCache.add(itemSizeCache.size(), null);
>>
>> Can this be simplified to `itemSizeCache.add(null);`?
>
> That won't add enough elements. For example, in case idx = 10, and the itemSizeCache has 5 elements, we need to add 5 empty elements to the cache, as they might get queried/pushed, e.g. we might do
> `itemSizeCache.set(7, 123.45);`
Sure, that's why you need the `while` loop. What I meant is that the following two calls are equivalent for any list:
list.add(list.size(), null);
and
list.add(null);
-------------
PR: https://git.openjdk.java.net/jfx/pull/398
More information about the openjfx-dev
mailing list