aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-08 04:33:31 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-08 09:51:11 -0500
commit8a609443b4ae06e58e0334751bbdb76e31068d37 (patch)
tree23a4847c3f907e527f17aad199cd90ee1db9d189 /src
parent76aeb85e99e088151c867d86858705bf38c345de (diff)
downloadvt100-rust-8a609443b4ae06e58e0334751bbdb76e31068d37.tar.gz
vt100-rust-8a609443b4ae06e58e0334751bbdb76e31068d37.zip
fix RI at the top of the screen
Diffstat (limited to 'src')
-rw-r--r--src/grid.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/grid.rs b/src/grid.rs
index ad2fa22..3c262fe 100644
--- a/src/grid.rs
+++ b/src/grid.rs
@@ -337,9 +337,16 @@ impl Grid {
}
pub fn row_dec_scroll(&mut self, count: u16) {
+ // need to account for clamping by both row_clamp_top and by
+ // saturating_sub
+ let extra_lines = if count > self.pos.row {
+ count - self.pos.row
+ } else {
+ 0
+ };
self.pos.row = self.pos.row.saturating_sub(count);
let lines = self.row_clamp_top(true);
- self.scroll_down(lines);
+ self.scroll_down(lines + extra_lines);
}
pub fn row_set(&mut self, i: u16) {