From 22b8a534facb41a7a92156def84c7ad7e2614b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Tue, 28 Feb 2023 20:39:59 +0100 Subject: [PATCH] Avoid division by zero in `LayoutRunIter` --- src/buffer.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/buffer.rs b/src/buffer.rs index 37066c3..ac1729b 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -192,7 +192,11 @@ impl<'a, 'b> LayoutRunIter<'a, 'b> { .sum(); let top_cropped_layout_lines = total_layout_lines.saturating_sub(buffer.scroll.try_into().unwrap_or_default()); - let maximum_lines = (buffer.height / buffer.metrics.line_height) as i32; + let maximum_lines = if buffer.metrics.line_height == 0.0 { + 0 + } else { + (buffer.height / buffer.metrics.line_height) as i32 + }; let bottom_cropped_layout_lines = if top_cropped_layout_lines > maximum_lines.try_into().unwrap_or_default() { maximum_lines.try_into().unwrap_or_default()