From d9c0c0869888d3d9ade301de3280e0d4570d53e0 Mon Sep 17 00:00:00 2001 From: lvgx Date: Tue, 29 Sep 2020 15:41:22 +0200 Subject: Fix rollover bug Fixes #743 --- src/nnn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index 5110a14..f97ad21 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -5972,14 +5972,14 @@ nochange: } #if NCURSES_MOUSE_VERSION > 1 /* Scroll up */ - if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) { + if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur >= scroll_lines)) { move_cursor((cur + ndents - scroll_lines) % ndents, 0); break; } /* Scroll down */ if (event.bstate == BUTTON5_PRESSED && ndents - && (cfg.rollover || (cur != ndents - 1))) { + && (cfg.rollover || (cur + scroll_lines < ndents))) { move_cursor((cur + scroll_lines) % ndents, 0); break; } -- cgit v1.2.3-70-g09d2 From d1d4c4ad22869996e23e0f3206ccc8caa958aa54 Mon Sep 17 00:00:00 2001 From: lvgx Date: Tue, 29 Sep 2020 16:13:57 +0200 Subject: Snap to edges in no rollover multiline scroll mode --- src/nnn.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index f97ad21..de671f3 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -5972,15 +5972,21 @@ nochange: } #if NCURSES_MOUSE_VERSION > 1 /* Scroll up */ - if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur >= scroll_lines)) { - move_cursor((cur + ndents - scroll_lines) % ndents, 0); + if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) { + if(!cfg.rollover && cur < scroll_lines) + move_cursor(0,0); + else + move_cursor((cur + ndents - scroll_lines) % ndents, 0); break; } /* Scroll down */ if (event.bstate == BUTTON5_PRESSED && ndents - && (cfg.rollover || (cur + scroll_lines < ndents))) { - move_cursor((cur + scroll_lines) % ndents, 0); + && (cfg.rollover || (cur != ndents - 1))) { + if(!cfg.rollover && cur >= ndents - scroll_lines) + move_cursor(ndents-1, 0); + else + move_cursor((cur + scroll_lines) % ndents, 0); break; } #endif -- cgit v1.2.3-70-g09d2 From 6067a91ae6393d19367d51c902e9d1a9cfac57b0 Mon Sep 17 00:00:00 2001 From: lvgx Date: Tue, 29 Sep 2020 16:22:49 +0200 Subject: Style fix --- src/nnn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index de671f3..3a03bdb 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -5973,7 +5973,7 @@ nochange: #if NCURSES_MOUSE_VERSION > 1 /* Scroll up */ if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) { - if(!cfg.rollover && cur < scroll_lines) + if (!cfg.rollover && cur < scroll_lines) move_cursor(0,0); else move_cursor((cur + ndents - scroll_lines) % ndents, 0); @@ -5983,7 +5983,7 @@ nochange: /* Scroll down */ if (event.bstate == BUTTON5_PRESSED && ndents && (cfg.rollover || (cur != ndents - 1))) { - if(!cfg.rollover && cur >= ndents - scroll_lines) + if (!cfg.rollover && cur >= ndents - scroll_lines) move_cursor(ndents-1, 0); else move_cursor((cur + scroll_lines) % ndents, 0); -- cgit v1.2.3-70-g09d2