Problem: Click in window toolbar starts Visual mode.
Solution: Add the MOUSE_WINBAR flag.
*/
jump_flags = jump_to_mouse(jump_flags,
oap == NULL ? NULL : &(oap->inclusive), which_button);
+
+#ifdef FEAT_MENU
+ /* A click in the window toolbar has no side effects. */
+ if (jump_flags & MOUSE_WINBAR)
+ return FALSE;
+#endif
moved = (jump_flags & CURSOR_MOVED);
in_status_line = (jump_flags & IN_STATUS_LINE);
in_sep_line = (jump_flags & IN_SEP_LINE);
{
static int on_status_line = 0; /* #lines below bottom of window */
static int on_sep_line = 0; /* on separator right of window */
+#ifdef FEAT_MENU
+ static int in_winbar = FALSE;
+#endif
static int prev_row = -1;
static int prev_col = -1;
static win_T *dragwin = NULL; /* window being dragged */
/* A click in the window toolbar does not enter another window or
* change Visual highlighting. */
winbar_click(wp, col);
- return IN_OTHER_WIN;
+ in_winbar = TRUE;
+ return IN_OTHER_WIN | MOUSE_WINBAR;
}
+ in_winbar = FALSE;
#endif
/*
}
return IN_SEP_LINE; /* Cursor didn't move */
}
+#ifdef FEAT_MENU
+ else if (in_winbar)
+ {
+ /* After a click on the window toolbar don't start Visual mode. */
+ return IN_OTHER_WIN | MOUSE_WINBAR;
+ }
+#endif
else /* keep_window_focus must be TRUE */
{
/* before moving the cursor for a left click, stop Visual mode */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1138,
/**/
1137,
/**/
# define CURSOR_MOVED 0x100
# define MOUSE_FOLD_CLOSE 0x200 /* clicked on '-' in fold column */
# define MOUSE_FOLD_OPEN 0x400 /* clicked on '+' in fold column */
+# define MOUSE_WINBAR 0x800 /* in window toolbar */
/* flags for jump_to_mouse() */
# define MOUSE_FOCUS 0x01 /* need to stay in this window */