Fix lacking space panic (#6109)

* Fix lack of space for popup crash

* Fix saturating -> wrapping

* Fix wrapping -> saturating (I am an idiot)

* Remove useless "mut" in helix-tui/src/buffer.rs

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Remove redundant bound-check

* Return bound-check back

* Add bound-check for set_style

* Remove set_style bound-check

* Revert bound-check

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
pull/6193/head
nuid32 2 years ago committed by GitHub
parent ccdb144665
commit def26966d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -342,13 +342,10 @@ impl Component for Markdown {
fn required_size(&mut self, viewport: (u16, u16)) -> Option<(u16, u16)> { fn required_size(&mut self, viewport: (u16, u16)) -> Option<(u16, u16)> {
let padding = 2; let padding = 2;
if padding >= viewport.1 || padding >= viewport.0 {
return None;
}
let contents = self.parse(None); let contents = self.parse(None);
// TODO: account for tab width // TODO: account for tab width
let max_text_width = (viewport.0 - padding).min(120); let max_text_width = (viewport.0.saturating_sub(padding)).min(120);
let (width, height) = crate::ui::text::required_size(&contents, max_text_width); let (width, height) = crate::ui::text::required_size(&contents, max_text_width);
Some((width + padding, height + padding)) Some((width + padding, height + padding))

@ -237,8 +237,8 @@ impl Rect {
Rect { Rect {
x: x1, x: x1,
y: y1, y: y1,
width: x2 - x1, width: x2.saturating_sub(x1),
height: y2 - y1, height: y2.saturating_sub(y1),
} }
} }

Loading…
Cancel
Save