0
0
mirror of https://github.com/vim/vim.git synced 2025-10-06 05:44:14 -04:00

patch 8.2.2152: screenpos() does not include the WinBar offset

Problem:    screenpos() does not include the WinBar offset.
Solution:   Use W_WINROW() instead of directly using w_window. (closes #7487)
This commit is contained in:
Bram Moolenaar
2020-12-17 21:35:29 +01:00
parent a79a8944da
commit 8dd46e72cf
3 changed files with 8 additions and 1 deletions

View File

@@ -1247,7 +1247,7 @@ textpos2screenpos(
// character is left or right of the window // character is left or right of the window
row = scol = ccol = ecol = 0; row = scol = ccol = ecol = 0;
} }
*rowp = wp->w_winrow + row + rowoff; *rowp = W_WINROW(wp) + row + rowoff;
*scolp = scol + coloff; *scolp = scol + coloff;
*ccolp = ccol + coloff; *ccolp = ccol + coloff;
*ecolp = ecol + coloff; *ecolp = ecol + coloff;

View File

@@ -101,6 +101,11 @@ func Test_screenpos()
close close
call assert_equal({}, screenpos(999, 1, 1)) call assert_equal({}, screenpos(999, 1, 1))
bwipe! bwipe!
call assert_equal({'col': 1, 'row': 1, 'endcol': 1, 'curscol': 1}, screenpos(win_getid(), 1, 1))
nmenu WinBar.TEST :
call assert_equal({'col': 1, 'row': 2, 'endcol': 1, 'curscol': 1}, screenpos(win_getid(), 1, 1))
nunmenu WinBar.TEST
endfunc endfunc
func Test_screenpos_number() func Test_screenpos_number()

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
2152,
/**/ /**/
2151, 2151,
/**/ /**/