Change summary
crates/collab_ui/src/collab_panel/channel_modal.rs | 2 +-
crates/collab_ui/src/face_pile.rs | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
Detailed changes
@@ -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();
@@ -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(