aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-04 21:04:30 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-04 21:04:30 -0500
commit087cdb93d971934cdf2a6a577d8d5fe94380611d (patch)
tree64a7bc045c0a5bc16b20915868e0275c59222f6c /src/screen.rs
parentd4bce2deb371f7615c937150f2538e78c40e086b (diff)
downloadvt100-rust-087cdb93d971934cdf2a6a577d8d5fe94380611d.tar.gz
vt100-rust-087cdb93d971934cdf2a6a577d8d5fe94380611d.zip
delay allocation of the alternate screen
Diffstat (limited to 'src/screen.rs')
-rw-r--r--src/screen.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/screen.rs b/src/screen.rs
index 74e0559..ae6bd2d 100644
--- a/src/screen.rs
+++ b/src/screen.rs
@@ -85,8 +85,10 @@ impl Screen {
size: crate::grid::Size,
scrollback_len: usize,
) -> Self {
+ let mut grid = crate::grid::Grid::new(size, scrollback_len);
+ grid.allocate_rows();
Self {
- grid: crate::grid::Grid::new(size, scrollback_len),
+ grid,
alternate_grid: crate::grid::Grid::new(size, 0),
attrs: crate::attrs::Attrs::default(),
@@ -759,6 +761,7 @@ impl Screen {
fn enter_alternate_grid(&mut self) {
self.grid_mut().set_scrollback(0);
self.set_mode(MODE_ALTERNATE_SCREEN);
+ self.alternate_grid.allocate_rows();
}
fn exit_alternate_grid(&mut self) {