diff --git a/src/nvim/move.c b/src/nvim/move.c index a5faab3fdd..28f3e0df12 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -940,7 +940,7 @@ void textpos2screenpos(win_T *wp, pos_T *pos, int *rowp, int *scolp, int *ccolp, bool existing_row = (pos->lnum > 0 && pos->lnum <= wp->w_buffer->b_ml.ml_line_count); - if ((local && existing_row) || visible_row) { + if ((local || visible_row) && existing_row) { colnr_T off; colnr_T col; int width; diff --git a/src/nvim/window.c b/src/nvim/window.c index f786895bea..ee513bcffe 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -827,7 +827,7 @@ void win_config_float(win_T *wp, FloatConfig fconfig) pos_T pos = { wp->w_float_config.bufpos.lnum + 1, wp->w_float_config.bufpos.col, 0 }; int trow, tcol, tcolc, tcole; - textpos2screenpos(wp, &pos, &trow, &tcol, &tcolc, &tcole, true); + textpos2screenpos(parent, &pos, &trow, &tcol, &tcolc, &tcole, true); row += trow - 1; col += tcol - 1; }