1
0
forked from aniani/vim

patch 9.0.1983: scrolling inactive window not possible with cursorbind

Problem:  Scrolling non-current window using mouse is inconsistent
          depending on 'scrollbind'/'scrolloff' and different from GUI
          vertical scrollbar when 'cursorbind' is set.
Solution: Don't move cursor in non-current windows for 'cursorbind' if
          cursor in the current window didn't move.

closes: #13219
closes: #13210

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
zeertzjq
2023-10-04 21:45:33 +02:00
committed by Christian Brabandt
parent 4dbb2669e9
commit 8e5f26ec6a
3 changed files with 78 additions and 14 deletions

View File

@@ -3571,6 +3571,14 @@ halfpage(int flag, linenr_T Prenum)
void
do_check_cursorbind(void)
{
static win_T *prev_curwin = NULL;
static pos_T prev_cursor = {0, 0, 0};
if (curwin == prev_curwin && EQUAL_POS(curwin->w_cursor, prev_cursor))
return;
prev_curwin = curwin;
prev_cursor = curwin->w_cursor;
linenr_T line = curwin->w_cursor.lnum;
colnr_T col = curwin->w_cursor.col;
colnr_T coladd = curwin->w_cursor.coladd;