Skip to content

Commit

Permalink
Crop cells only if memorizedRange is bigger than expected range (#94)
Browse files Browse the repository at this point in the history
Crop cells only if memorizedRange is bigger than expected range
  • Loading branch information
tchudyk authored Jul 20, 2021
1 parent 924cf0a commit e746ee2
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/main/java/org/fxmisc/flowless/CellListManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import javafx.collections.ObservableList;
import javafx.scene.Node;
import javafx.scene.control.IndexRange;
import javafx.scene.input.ScrollEvent;

import org.reactfx.EventStreams;
Expand Down Expand Up @@ -85,8 +86,13 @@ public C getCell(int itemIndex) {
public void cropTo(int fromItem, int toItem) {
fromItem = Math.max(fromItem, 0);
toItem = Math.max(Math.min(toItem, cells.size()), 0);
cells.forget(0, fromItem);
cells.forget(toItem, cells.size());
IndexRange memorizedRange = cells.getMemoizedItemsRange();
if (memorizedRange.getStart() < fromItem) {
cells.forget(0, fromItem);
}
if (memorizedRange.getEnd() > toItem) {
cells.forget(toItem, cells.size());
}
}

private C cellForItem(T item) {
Expand Down

0 comments on commit e746ee2

Please sign in to comment.