mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.4984: dragging statusline fails for window with winbar
Problem: Dragging statusline fails for window with winbar. Solution: Fix off-by-one error. (closes #10448)
This commit is contained in:
@@ -1823,7 +1823,7 @@ retnomove:
|
||||
if (dragwin != NULL)
|
||||
{
|
||||
// Drag the status line
|
||||
count = row - dragwin->w_winrow - dragwin->w_height + 1
|
||||
count = row - W_WINROW(dragwin) - dragwin->w_height + 1
|
||||
- on_status_line;
|
||||
win_drag_status_line(dragwin, count);
|
||||
did_drag |= count;
|
||||
|
@@ -161,4 +161,32 @@ func Test_winbar_not_visible_custom_statusline()
|
||||
call delete('XtestWinbarNotVisble')
|
||||
endfunction
|
||||
|
||||
func Test_drag_statusline_with_winbar()
|
||||
call SetupWinbar()
|
||||
let save_mouse = &mouse
|
||||
set mouse=a
|
||||
set laststatus=2
|
||||
|
||||
call test_setmouse(&lines - 1, 1)
|
||||
call feedkeys("\<LeftMouse>", 'xt')
|
||||
call test_setmouse(&lines - 2, 1)
|
||||
call feedkeys("\<LeftDrag>", 'xt')
|
||||
call assert_equal(2, &cmdheight)
|
||||
|
||||
call test_setmouse(&lines - 2, 1)
|
||||
call feedkeys("\<LeftMouse>", 'xt')
|
||||
call test_setmouse(&lines - 3, 1)
|
||||
call feedkeys("\<LeftDrag>", 'xt')
|
||||
call assert_equal(3, &cmdheight)
|
||||
|
||||
call test_setmouse(&lines - 3, 1)
|
||||
call feedkeys("\<LeftMouse>", 'xt')
|
||||
call test_setmouse(&lines - 1, 1)
|
||||
call feedkeys("\<LeftDrag>", 'xt')
|
||||
call assert_equal(1, &cmdheight)
|
||||
|
||||
let &mouse = save_mouse
|
||||
set laststatus&
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4984,
|
||||
/**/
|
||||
4983,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user