diff options
| -rw-r--r-- | st.c | 10 |
1 files changed, 4 insertions, 6 deletions
| @@ -1399,14 +1399,13 @@ tscrolldown(int orig, int n) { | |||
| 1399 | LIMIT(n, 0, term.bot-orig+1); | 1399 | LIMIT(n, 0, term.bot-orig+1); |
| 1400 | 1400 | ||
| 1401 | tclearregion(0, term.bot-n+1, term.col-1, term.bot); | 1401 | tclearregion(0, term.bot-n+1, term.col-1, term.bot); |
| 1402 | tsetdirt(orig, term.bot-n); | ||
| 1403 | tsetdirt(orig+n, term.bot); | ||
| 1402 | 1404 | ||
| 1403 | for(i = term.bot; i >= orig+n; i--) { | 1405 | for(i = term.bot; i >= orig+n; i--) { |
| 1404 | temp = term.line[i]; | 1406 | temp = term.line[i]; |
| 1405 | term.line[i] = term.line[i-n]; | 1407 | term.line[i] = term.line[i-n]; |
| 1406 | term.line[i-n] = temp; | 1408 | term.line[i-n] = temp; |
| 1407 | |||
| 1408 | term.dirty[i] = 1; | ||
| 1409 | term.dirty[i-n] = 1; | ||
| 1410 | } | 1409 | } |
| 1411 | 1410 | ||
| 1412 | selscroll(orig, n); | 1411 | selscroll(orig, n); |
| @@ -1419,14 +1418,13 @@ tscrollup(int orig, int n) { | |||
| 1419 | LIMIT(n, 0, term.bot-orig+1); | 1418 | LIMIT(n, 0, term.bot-orig+1); |
| 1420 | 1419 | ||
| 1421 | tclearregion(0, orig, term.col-1, orig+n-1); | 1420 | tclearregion(0, orig, term.col-1, orig+n-1); |
| 1421 | tsetdirt(orig, term.bot-n); | ||
| 1422 | tsetdirt(orig+n, term.bot); | ||
| 1422 | 1423 | ||
| 1423 | for(i = orig; i <= term.bot-n; i++) { | 1424 | for(i = orig; i <= term.bot-n; i++) { |
| 1424 | temp = term.line[i]; | 1425 | temp = term.line[i]; |
| 1425 | term.line[i] = term.line[i+n]; | 1426 | term.line[i] = term.line[i+n]; |
| 1426 | term.line[i+n] = temp; | 1427 | term.line[i+n] = temp; |
| 1427 | |||
| 1428 | term.dirty[i] = 1; | ||
| 1429 | term.dirty[i+n] = 1; | ||
| 1430 | } | 1428 | } |
| 1431 | 1429 | ||
| 1432 | selscroll(orig, -n); | 1430 | selscroll(orig, -n); |
