summaryrefslogtreecommitdiffstats
path: root/thumbs.c
diff options
context:
space:
mode:
authorBert Münnich <be.muennich@googlemail.com>2012-03-16 20:56:10 +0100
committerBert Münnich <be.muennich@googlemail.com>2012-03-16 20:56:10 +0100
commitedd016945a5a3d8a742dae65cec5025bd5e508be (patch)
tree5e3d6139ae7121332ad908141bfd9eb02575befa /thumbs.c
parentd7ff54bb6efc3dbaa2e524a141b423f894bcbc98 (diff)
downloadnsxiv-edd016945a5a3d8a742dae65cec5025bd5e508be.tar.zst
Fixed it_scroll_move(DIR_DOWN) in thumb mode for last line
Diffstat (limited to 'thumbs.c')
-rw-r--r--thumbs.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/thumbs.c b/thumbs.c
index cd8d315..9e49ca4 100644
--- a/thumbs.c
+++ b/thumbs.c
@@ -399,14 +399,6 @@ bool tns_move_selection(tns_t *tns, direction_t dir) {
old = tns->sel;
switch (dir) {
- case DIR_LEFT:
- if (tns->sel > 0)
- tns->sel--;
- break;
- case DIR_RIGHT:
- if (tns->sel < tns->cnt - 1)
- tns->sel++;
- break;
case DIR_UP:
if (tns->sel >= tns->cols)
tns->sel -= tns->cols;
@@ -414,6 +406,16 @@ bool tns_move_selection(tns_t *tns, direction_t dir) {
case DIR_DOWN:
if (tns->sel + tns->cols < tns->cnt)
tns->sel += tns->cols;
+ else if (tns->sel < tns->cnt - tns->cnt % tns->cols)
+ tns->sel = tns->cnt - 1;
+ break;
+ case DIR_LEFT:
+ if (tns->sel > 0)
+ tns->sel--;
+ break;
+ case DIR_RIGHT:
+ if (tns->sel < tns->cnt - 1)
+ tns->sel++;
break;
}