aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-03 14:13:46 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-03 14:13:46 -0500
commit91e0dcd8f9de84a9cd0a45b1e776f59ea527881e (patch)
tree3101f7decc491233fa980625b2de7cd65f6d7031 /src
parent732589c4f0a5dbecc33f8ec4f7626a1cc93a03a8 (diff)
downloadvt100-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.rs9
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);
}
}