Problem: Mouse events in a terminal window may cause endless loop.
Solution: Adjust position computation. Don't stuff a mouse event when
coming from normal_cmd().
{
# ifdef FEAT_TERMINAL
if (term_use_loop())
- send_keys_to_term(curbuf->b_term, cap->cmdchar, TRUE);
+ /* This window is a terminal window, send the mouse event there.
+ * Set "typed" to FALSE to avoid an endless loop. */
+ send_keys_to_term(curbuf->b_term, cap->cmdchar, FALSE);
else
# endif
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
case K_MOUSELEFT:
case K_MOUSERIGHT:
if (mouse_row < W_WINROW(curwin)
- || mouse_row >= (W_WINROW(curwin) + curwin->w_height)
+ || mouse_row > (W_WINROW(curwin) + curwin->w_height)
|| mouse_col < curwin->w_wincol
- || mouse_col >= W_ENDCOL(curwin)
+ || mouse_col > W_ENDCOL(curwin)
|| dragging_outside)
{
/* click or scroll outside the current window */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1323,
/**/
1322,
/**/