diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-03 14:13:46 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-03 14:13:46 -0500 |
commit | 91e0dcd8f9de84a9cd0a45b1e776f59ea527881e (patch) | |
tree | 3101f7decc491233fa980625b2de7cd65f6d7031 /src | |
parent | 732589c4f0a5dbecc33f8ec4f7626a1cc93a03a8 (diff) | |
download | vt100-rust-91e0dcd8f9de84a9cd0a45b1e776f59ea527881e.tar.gz vt100-rust-91e0dcd8f9de84a9cd0a45b1e776f59ea527881e.zip |
fix wrapping while scrolling inside the scroll region too
Diffstat (limited to 'src')
-rw-r--r-- | src/grid.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/grid.rs b/src/grid.rs index 785b3cb..d568205 100644 --- a/src/grid.rs +++ b/src/grid.rs @@ -612,13 +612,14 @@ impl Grid { pub fn col_wrap(&mut self, width: u16, wrap: bool) { if self.pos.col > self.size.cols - width { - let prev_pos = self.pos; + let mut prev_pos = self.pos; self.pos.col = 0; let scrolled = self.row_inc_scroll(1); + prev_pos.row -= scrolled; let new_pos = self.pos; - self.drawing_row_mut(prev_pos).unwrap().wrap( - wrap && (prev_pos.row + 1 == new_pos.row || scrolled == 1), - ); + self.drawing_row_mut(prev_pos) + .unwrap() + .wrap(wrap && prev_pos.row + 1 == new_pos.row); } } |