mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
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:
committed by
Christian Brabandt
parent
1c5728e0c4
commit
031a745608
@@ -3697,6 +3697,73 @@ func Test_getmousepos()
|
||||
\ column: 8,
|
||||
\ coladd: 21,
|
||||
\ }, getmousepos())
|
||||
|
||||
30vnew
|
||||
setlocal smoothscroll number
|
||||
call setline(1, join(range(100)))
|
||||
exe "normal! \<C-E>"
|
||||
call test_setmouse(1, 5)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 1,
|
||||
\ screencol: 5,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 1,
|
||||
\ wincol: 5,
|
||||
\ line: 1,
|
||||
\ column: 27,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(2, 5)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 2,
|
||||
\ screencol: 5,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 2,
|
||||
\ wincol: 5,
|
||||
\ line: 1,
|
||||
\ column: 53,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
|
||||
exe "normal! \<C-E>"
|
||||
call test_setmouse(1, 5)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 1,
|
||||
\ screencol: 5,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 1,
|
||||
\ wincol: 5,
|
||||
\ line: 1,
|
||||
\ column: 53,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(2, 5)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 2,
|
||||
\ screencol: 5,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 2,
|
||||
\ wincol: 5,
|
||||
\ line: 1,
|
||||
\ column: 79,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
|
||||
vert resize 4
|
||||
call test_setmouse(2, 2)
|
||||
" This used to crash Vim
|
||||
call assert_equal(#{
|
||||
\ screenrow: 2,
|
||||
\ screencol: 2,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 2,
|
||||
\ wincol: 2,
|
||||
\ line: 1,
|
||||
\ column: 53,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
|
||||
bwipe!
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
|
Reference in New Issue
Block a user