From c4ee3ba64e9b9da71d3b224446795d3bb81d65a0 Mon Sep 17 00:00:00 2001 From: notgull Date: Sat, 18 Feb 2023 17:59:30 -0800 Subject: [PATCH 1/2] Early panic on divide by zero --- src/buffer.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/buffer.rs b/src/buffer.rs index 9b243d3..ad3bde1 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -306,6 +306,8 @@ pub struct Buffer<'a> { impl<'a> Buffer<'a> { /// Create a new [`Buffer`] with the provided [`FontSystem`] and [`Metrics`] pub fn new(font_system: &'a FontSystem, metrics: Metrics) -> Self { + assert_ne!(metrics.line_height, 0, "line height cannot be 0"); + let mut buffer = Self { font_system, lines: Vec::new(), From 86d7ba959ed77212807048f844b502954d5acc38 Mon Sep 17 00:00:00 2001 From: notgull Date: Sat, 18 Feb 2023 18:00:57 -0800 Subject: [PATCH 2/2] Forgot about set_metrics --- src/buffer.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/buffer.rs b/src/buffer.rs index ad3bde1..7bd6554 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -493,6 +493,7 @@ impl<'a> Buffer<'a> { /// Set the current [`Metrics`] pub fn set_metrics(&mut self, metrics: Metrics) { if metrics != self.metrics { + assert_ne!(metrics.font_size, 0, "font size cannot be 0"); self.metrics = metrics; self.relayout(); self.shape_until_scroll();