From 425c86179791cd32e2d4ce0ae7f269940b4b0663 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Thu, 10 Sep 2026 21:51:57 +0300 Subject: chore: upgrade libghostty and preserve terminal behavior (#3906) --- src/pane/terminal/windows_recent_fallback.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/pane/terminal/windows_recent_fallback.rs') diff --git a/src/pane/terminal/windows_recent_fallback.rs b/src/pane/terminal/windows_recent_fallback.rs index efb58b49..7f632c08 100644 --- a/src/pane/terminal/windows_recent_fallback.rs +++ b/src/pane/terminal/windows_recent_fallback.rs @@ -346,6 +346,20 @@ mod tests { #[test] fn deferred_repaint_survives_real_scrollback_pruning() { + assert_deferred_repaint_survives_real_scrollback_pruning(None); + } + + #[test] + fn deferred_repaint_survives_real_scrollback_pruning_resize_rows() { + assert_deferred_repaint_survives_real_scrollback_pruning(Some((2, 40))); + } + + #[test] + fn deferred_repaint_survives_real_scrollback_pruning_resize_both_axes() { + assert_deferred_repaint_survives_real_scrollback_pruning(Some((2, 20))); + } + + fn assert_deferred_repaint_survives_real_scrollback_pruning(resize: Option<(u16, u16)>) { let (tx, _rx) = mpsc::channel(4); let terminal = crate::ghostty::Terminal::new(40, 1, 1).unwrap(); let pane = GhosttyPaneTerminal::new(terminal, tx.clone()).unwrap(); @@ -387,6 +401,9 @@ mod tests { .collect::(); pane.process_pty_bytes(pane_id, 0, batch.as_bytes(), &tx); assert_eq!(state(), (before, true)); + if let Some((rows, cols)) = resize { + pane.resize(rows, cols, 8, 16); + } let mut core = pane.core.lock().unwrap(); let fallback = super::super::finish_recent_snapshot(&mut core, String::new(), CACHE_LINES, false); -- cgit v1.2.3