Merge pull request #28434 from glepnir/23120

fix(float): wrong position when bufpos is out of range
This commit is contained in:
bfredl
2024-04-22 13:31:41 +02:00
committed by GitHub
3 changed files with 40 additions and 2 deletions

View File

@ -827,7 +827,8 @@ void ui_ext_win_position(win_T *wp, bool validate)
row += row_off;
col += col_off;
if (c.bufpos.lnum >= 0) {
pos_T pos = { c.bufpos.lnum + 1, c.bufpos.col, 0 };
int lnum = MIN(c.bufpos.lnum + 1, win->w_buffer->b_ml.ml_line_count);
pos_T pos = { lnum, c.bufpos.col, 0 };
int trow, tcol, tcolc, tcole;
textpos2screenpos(win, &pos, &trow, &tcol, &tcolc, &tcole, true);
row += trow - 1;