nsxivedd0169
Fixed it_scroll_move(DIR_DOWN) in thumb mode for last line
+11 −9
2 files changed
| @@ -1,4 +1,4 @@ | |||
| 1 | − | VERSION = git-20120313 | |
| 1 | + | VERSION = git-20120316 | |
| 2 | 2 | ||
| 3 | 3 | CC = gcc | |
| 4 | 4 | CFLAGS = -ansi -Wall -pedantic -O2 | |
| @@ -399,14 +399,6 @@ bool tns_move_selection(tns_t *tns, direction_t dir) { | |||
| 399 | 399 | old = tns->sel; | |
| 400 | 400 | ||
| 401 | 401 | switch (dir) { | |
| 402 | − | case DIR_LEFT: | |
| 403 | − | if (tns->sel > 0) | |
| 404 | − | tns->sel--; | |
| 405 | − | break; | |
| 406 | − | case DIR_RIGHT: | |
| 407 | − | if (tns->sel < tns->cnt - 1) | |
| 408 | − | tns->sel++; | |
| 409 | − | break; | |
| 410 | 402 | case DIR_UP: | |
| 411 | 403 | if (tns->sel >= tns->cols) | |
| 412 | 404 | tns->sel -= tns->cols; | |
| @@ -414,6 +406,16 @@ bool tns_move_selection(tns_t *tns, direction_t dir) { | |||
| 414 | 406 | case DIR_DOWN: | |
| 415 | 407 | if (tns->sel + tns->cols < tns->cnt) | |
| 416 | 408 | tns->sel += tns->cols; | |
| 409 | + | else if (tns->sel < tns->cnt - tns->cnt % tns->cols) | |
| 410 | + | tns->sel = tns->cnt - 1; | |
| 411 | + | break; | |
| 412 | + | case DIR_LEFT: | |
| 413 | + | if (tns->sel > 0) | |
| 414 | + | tns->sel--; | |
| 415 | + | break; | |
| 416 | + | case DIR_RIGHT: | |
| 417 | + | if (tns->sel < tns->cnt - 1) | |
| 418 | + | tns->sel++; | |
| 417 | 419 | break; | |
| 418 | 420 | } | |
| 419 | 421 | ||