From c7a8972a57556d8beef5120d1cde727bc6742520 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 1 Sep 2021 12:20:48 +0200 Subject: [PATCH] Fix off-by-one error in `StateInner::visible_range` I even wonder if we should keep this function around, as it feels like it can only be called at certain times (e.g. layout) and not after a splice or a scroll where we may not have rendered the elements we actually need. --- gpui/src/elements/list.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gpui/src/elements/list.rs b/gpui/src/elements/list.rs index e94cddc80d..852c60c874 100644 --- a/gpui/src/elements/list.rs +++ b/gpui/src/elements/list.rs @@ -390,8 +390,8 @@ impl StateInner { cursor.seek(&Count(scroll_top.item_ix), Bias::Right, &()); let start_y = cursor.sum_start().0 + scroll_top.offset_in_item; let mut cursor = cursor.swap_dimensions(); - cursor.seek_forward(&Height(start_y + height), Bias::Right, &()); - scroll_top.item_ix..cursor.sum_start().0 + cursor.seek_forward(&Height(start_y + height), Bias::Left, &()); + scroll_top.item_ix..cursor.sum_start().0 + 1 } fn visible_elements<'a>(