aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-09-23 02:19:59 +0200
committerGitHub <noreply@github.com>2026-09-23 02:19:59 +0200
commit440a8bdd1e3a809ea76f7cee82d73266d9da54d7 (patch)
tree3022d59d0870849c52b1cb6b1d7ff09bcef3d959 /src/ui
parentcd8306d7f35d6329d543944a0257b6bc4b297c8b (diff)
fix: keep synchronized pane frames atomic (#4508)
refs #2968
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/panes.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/panes.rs b/src/ui/panes.rs
index be9df8da..adf1f3d3 100644
--- a/src/ui/panes.rs
+++ b/src/ui/panes.rs
@@ -869,17 +869,21 @@ mod tests {
let terminal_id = app.workspaces[0].terminal_id(pane_id).unwrap().clone();
app.terminals.get_mut(&terminal_id).unwrap().restore_error =
Some("Saved directory is unavailable. Restart to retry.".into());
- let (buffer, cursor, _, _) = crate::server::render_stream::render_tab_surface_virtual(
+ let runtimes = TerminalRuntimeRegistry::new();
+ let area = Rect::new(0, 0, 80, 24);
+ let layout = crate::ui::compute_tab_surface_for(
&app,
- &TerminalRuntimeRegistry::new(),
+ &runtimes,
Some(crate::ui::TabSurfaceTarget {
workspace_index: 0,
tab_index: 0,
}),
- Rect::new(0, 0, 80, 24),
+ area,
false,
Default::default(),
);
+ let (buffer, cursor, _, _) =
+ crate::server::render_stream::render_tab_surface_virtual(&app, &runtimes, layout, area);
let text: String = buffer.content.iter().map(|cell| cell.symbol()).collect();
assert!(text.contains("Saved directory is unavailable."));
assert!(cursor.is_none_or(|cursor| !cursor.visible));