term: scrolling: clamp number of rows to number of rows in scrolling region

This commit is contained in:
Daniel Eklöf 2020-05-16 23:44:54 +02:00
parent 57e04a1320
commit a4f5938123
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 6 additions and 13 deletions

View file

@ -23,6 +23,8 @@
* Copy to clipboard/primary selection to insert a line break if either
the last cell on the previous line or the first cell on the next
line is empty.
* Number of lines to scroll is now always clamped to the number of
lines in the scrolling region..
### Deprecated
### Removed
@ -35,7 +37,6 @@
released.
* Selected cells did not appear selected if modified.
### Security

View file

@ -1728,12 +1728,8 @@ term_scroll_partial(struct terminal *term, struct scroll_region region, int rows
LOG_DBG("scroll: rows=%d, region.start=%d, region.end=%d",
rows, region.start, region.end);
#if 0
if (rows > region.end - region.start) {
/* For now, clamp */
rows = region.end - region.start;
}
#endif
/* Clamp scroll amount */
rows = min(rows, region.end - region.start);
const int begin_scrolled_in = max(region.end - rows, region.start);
const int end_scrolled_in = region.end;
@ -1778,12 +1774,8 @@ term_scroll_reverse_partial(struct terminal *term,
LOG_DBG("scroll reverse: rows=%d, region.start=%d, region.end=%d",
rows, region.start, region.end);
#if 0
if (rows > region.end - region.start) {
/* For now, clamp */
rows = region.end - region.start;
}
#endif
/* Clamp scroll amount */
rows = min(rows, region.end - region.start);
/* Row numbers of "new" lines scrolled in */
const int start_scrolled_in = region.start;