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:
@@ -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;
|
||||||
|
@@ -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()
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user