From ee938243586ae5482cf26ff238ddc99e66e1d1c4 Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Sat, 17 Jun 2023 21:55:12 +0000 Subject: Fix the crash when shrinking scrolled terminal display_offset was adjusted unconditionally, thus it could go beyound the history limits, so clamp it to history like we do in grow_colums. Fixes #6862. --- alacritty_terminal/src/grid/resize.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'alacritty_terminal/src/grid') diff --git a/alacritty_terminal/src/grid/resize.rs b/alacritty_terminal/src/grid/resize.rs index 882c0c90..92ee55d7 100644 --- a/alacritty_terminal/src/grid/resize.rs +++ b/alacritty_terminal/src/grid/resize.rs @@ -368,6 +368,9 @@ impl Grid { reversed.truncate(self.max_scroll_limit + self.lines); self.raw.replace_inner(reversed); + // Clamp display offset in case some lines went off. + self.display_offset = min(self.display_offset, self.history_size()); + // Reflow the primary cursor, or clamp it if reflow is disabled. if !reflow { self.cursor.point.column = min(self.cursor.point.column, Column(columns - 1)); -- cgit v1.2.3-54-g00ecf