Skip to content

Commit e830865

Browse files
Return an empty measurement instead of panicking (#15269)
Follow-up of #15256 Returns zero size for no items to render. Incorrect worktree state made the uniform list to have 0 items to render, so ```Rust let mut items = (self.render_items)(item_ix..item_ix + 1, cx); let mut item_to_measure = items.pop().unwrap(); ``` panicked as the first line returned an empty array despite a single-element range provided. Release Notes: - N/A
1 parent 7aa6f47 commit e830865

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

crates/gpui/src/elements/uniform_list.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,9 @@ impl UniformList {
325325

326326
let item_ix = cmp::min(self.item_to_measure_index, self.item_count - 1);
327327
let mut items = (self.render_items)(item_ix..item_ix + 1, cx);
328-
let mut item_to_measure = items.pop().unwrap();
328+
let Some(mut item_to_measure) = items.pop() else {
329+
return Size::default();
330+
};
329331
let available_space = size(
330332
list_width.map_or(AvailableSpace::MinContent, |width| {
331333
AvailableSpace::Definite(width)

0 commit comments

Comments
 (0)