Fix positioning on face piles, fix panic on member invite removal

This commit is contained in:
Mikayla 2023-08-08 10:44:44 -07:00
parent 17c9b4ca96
commit 6a7245b92b
No known key found for this signature in database
2 changed files with 9 additions and 3 deletions

View file

@ -534,7 +534,7 @@ impl ChannelModalDelegate {
this.selected_index = this
.selected_index
.min(this.matching_member_indices.len() - 1);
.min(this.matching_member_indices.len().saturating_sub(1));
cx.focus_self();
cx.notify();

View file

@ -37,12 +37,18 @@ impl<V: View> Element<V> for FacePile<V> {
debug_assert!(constraint.max_along(Axis::Horizontal) == f32::INFINITY);
let mut width = 0.;
let mut max_height = 0.;
for face in &mut self.faces {
width += face.layout(constraint, view, cx).x();
let layout = face.layout(constraint, view, cx);
width += layout.x();
max_height = f32::max(max_height, layout.y());
}
width -= self.overlap * self.faces.len().saturating_sub(1) as f32;
(Vector2F::new(width, constraint.max.y()), ())
(
Vector2F::new(width, max_height.clamp(1., constraint.max.y())),
(),
)
}
fn paint(