patch 8.1.1520: popup windows are ignored when dealing with mouse position
Problem: Popup windows are ignored when dealing with mouse position
Solution: Find the mouse position inside a popup window. Allow for modeless
selection.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 48b848d..134280f 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5154,12 +5154,18 @@
{
/* Find the window at the mouse coordinates and compute the
* text position. */
- win = mouse_find_win(&row, &col);
+ win = mouse_find_win(&row, &col, FIND_POPUP);
if (win == NULL)
return;
(void)mouse_comp_pos(win, &row, &col, &lnum);
- for (wp = firstwin; wp != win; wp = wp->w_next)
- ++winnr;
+# ifdef FEAT_TEXT_PROP
+ if (bt_popup(win->w_buffer))
+ winnr = 0;
+ else
+# endif
+ for (wp = firstwin; wp != win && wp != NULL;
+ wp = wp->w_next)
+ ++winnr;
set_vim_var_nr(VV_MOUSE_WIN, winnr);
set_vim_var_nr(VV_MOUSE_WINID, win->w_id);
set_vim_var_nr(VV_MOUSE_LNUM, lnum);