patch 8.1.2292: v:mouse_winid not set on click in popup window
Problem: v:mouse_winid not set on click in popup window.
Solution: Set v:mouse_winid. (closes #5171)
diff --git a/src/popupwin.c b/src/popupwin.c
index 405e608..66ce30c 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2915,6 +2915,7 @@
(void)mouse_comp_pos(wp, &row, &col, &lnum, NULL);
set_vim_var_nr(VV_MOUSE_LNUM, lnum);
set_vim_var_nr(VV_MOUSE_COL, col + 1);
+ set_vim_var_nr(VV_MOUSE_WINID, wp->w_id);
}
}
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index ad3caa0..7e94041 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2207,6 +2207,7 @@
func MyPopupFilter(winid, c)
let g:got_mouse_col = v:mouse_col
let g:got_mouse_lnum = v:mouse_lnum
+ let g:got_mouse_winid = v:mouse_winid
return 0
endfunc
@@ -2221,6 +2222,7 @@
call feedkeys("\<LeftMouse>", 'xt')
call assert_equal(1, g:got_mouse_col)
call assert_equal(1, g:got_mouse_lnum)
+ call assert_equal(winid, g:got_mouse_winid)
call test_setmouse(5, 8)
call feedkeys("\<LeftMouse>", 'xt')
@@ -2236,6 +2238,7 @@
call feedkeys("\<LeftMouse>", 'xt')
call assert_equal(13, g:got_mouse_col)
call assert_equal(3, g:got_mouse_lnum)
+ call assert_equal(winid, g:got_mouse_winid)
call popup_close(winid)
delfunc MyPopupFilter
diff --git a/src/version.c b/src/version.c
index f2b1a75..0e9b27b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2292,
+/**/
2291,
/**/
2290,