1
0
forked from aniani/vim

patch 9.1.0406: Divide by zero with getmousepos() and 'smoothscroll'

Problem:  Divide by zero with getmousepos() and 'smoothscroll'.
Solution: Don't compute skip_lines when width1 is zero.
          (zeertzjq)

closes: #14747

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2024-05-11 11:23:37 +02:00
committed by Christian Brabandt
parent 1c5728e0c4
commit 031a745608
4 changed files with 87 additions and 10 deletions

View File

@@ -2617,12 +2617,14 @@ scroll_cursor_bot(int min_scroll, int set_topbot)
plines_win
#endif
(curwin, curwin->w_topline, FALSE);
int skip_lines = 0;
int width1 = curwin->w_width - curwin_col_off();
if (width1 > 0)
{
int width2 = width1 + curwin_col_off2();
// similar formula is used in curs_columns()
int skip_lines = 0;
// A similar formula is used in curs_columns().
if (curwin->w_skipcol > width1)
skip_lines += (curwin->w_skipcol - width1) / width2 + 1;
else if (curwin->w_skipcol > 0)