Skip to content
8 changes: 6 additions & 2 deletions src/vs/base/browser/ui/list/listView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1560,9 +1560,13 @@ export class ListView<T> implements IListView<T> {
}

private getVisibleRange(renderTop: number, renderHeight: number): IRange {
const start = this.rangeMap.indexAt(renderTop);
return {
start: this.rangeMap.indexAt(renderTop),
end: this.rangeMap.indexAfter(renderTop + renderHeight - 1)
start,
// When the viewport is collapsed or hidden (renderHeight <= 0), the end
// position can resolve to an index before `start`, producing an inverted
// range. Clamp it so consumers always receive `end >= start`.
end: Math.max(start, this.rangeMap.indexAfter(renderTop + renderHeight - 1))
Comment thread
vs-code-engineering[bot] marked this conversation as resolved.
Comment thread
vs-code-engineering[bot] marked this conversation as resolved.
Outdated
};
}

Expand Down