Fix rollover bug (#747)

* Fix rollover bug

Fixes #743

* Snap to edges in no rollover multiline scroll mode

* Style fix
This commit is contained in:
lvgx 2020-09-29 16:35:59 +02:00 committed by GitHub
parent b5232de642
commit 78e576ae24
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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