Return an empty measurement instead of panicking (#15269)
Follow-up of https://github.com/zed-industries/zed/pull/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
This commit is contained in:
parent
7aa6f4788d
commit
e830865eb1
1 changed files with 3 additions and 1 deletions
|
@ -325,7 +325,9 @@ impl UniformList {
|
||||||
|
|
||||||
let item_ix = cmp::min(self.item_to_measure_index, self.item_count - 1);
|
let item_ix = cmp::min(self.item_to_measure_index, self.item_count - 1);
|
||||||
let mut items = (self.render_items)(item_ix..item_ix + 1, cx);
|
let mut items = (self.render_items)(item_ix..item_ix + 1, cx);
|
||||||
let mut item_to_measure = items.pop().unwrap();
|
let Some(mut item_to_measure) = items.pop() else {
|
||||||
|
return Size::default();
|
||||||
|
};
|
||||||
let available_space = size(
|
let available_space = size(
|
||||||
list_width.map_or(AvailableSpace::MinContent, |width| {
|
list_width.map_or(AvailableSpace::MinContent, |width| {
|
||||||
AvailableSpace::Definite(width)
|
AvailableSpace::Definite(width)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue