From 83e8bd237a415fe31a736e28e1e1931d7f9e64bc Mon Sep 17 00:00:00 2001 From: Hojjat Date: Thu, 9 Apr 2026 16:23:39 -0600 Subject: [PATCH] fix: clamp scroll.line to a valid range --- src/buffer.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/buffer.rs b/src/buffer.rs index da84a66..f8fa5ff 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -573,6 +573,13 @@ impl Buffer { return; } let metrics = self.metrics; + + // Clamp scroll.line to valid range (lines may have been removed by editing) + if self.scroll.line >= self.lines.len() { + self.scroll.line = self.lines.len().saturating_sub(1); + self.scroll.vertical = 0.0; + } + let old_scroll = self.scroll; loop {