Fix off-by-one error in `StateInner::visible_range`

Antonio Scandurra created

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.

Change summary

gpui/src/elements/list.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Detailed changes

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>(