]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix rollover bug (#747)
authorlvgx <l@vgx.fr>
Tue, 29 Sep 2020 14:35:59 +0000 (16:35 +0200)
committerGitHub <noreply@github.com>
Tue, 29 Sep 2020 14:35:59 +0000 (20:05 +0530)
* Fix rollover bug

Fixes #743

* Snap to edges in no rollover multiline scroll mode

* Style fix

src/nnn.c

index 5110a14f6ec675960db6f20487abdc71c2bd06d3..3a03bdbf44ec866ee844a670ba20cd20a3e633b2 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5973,14 +5973,20 @@ nochange:
 #if NCURSES_MOUSE_VERSION > 1
                        /* Scroll up */
                        if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) {
-                               move_cursor((cur + ndents - scroll_lines) % ndents, 0);
+                               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 != ndents - 1))) {
-                               move_cursor((cur + scroll_lines) % ndents, 0);
+                               if (!cfg.rollover && cur >= ndents - scroll_lines)
+                                       move_cursor(ndents-1, 0);
+                               else
+                                       move_cursor((cur + scroll_lines) % ndents, 0);
                                break;
                        }
 #endif