fix(ui): correct condition for "wrap" flag in a floating grid

In a floating window grid, "wrap" flag should not
be set when vertical borders are used, as the the wrapped
text will be broken up by border chars.

fixes #33719
This commit is contained in:
bfredl
2025-04-30 11:49:47 +02:00
parent 0ab0cdb2da
commit f02484118c
3 changed files with 167 additions and 3 deletions

View File

@@ -3026,12 +3026,12 @@ end_check:
|| (wp->w_p_list && wp->w_p_lcs_chars.eol != NUL && lcs_eol_todo)
|| (wlv.n_extra != 0 && (wlv.sc_extra != NUL || *wlv.p_extra != NUL))
|| (may_have_inline_virt && has_more_inline_virt(&wlv, ptr - line)))) {
int grid_width = wp->w_grid.target->cols;
const bool wrap = is_wrapped // Wrapping enabled (not a folded line).
&& wlv.filler_todo <= 0 // Not drawing diff filler lines.
&& lcs_eol_todo // Haven't printed the lcs_eol character.
&& wlv.row != endrow - 1 // Not the last line being displayed.
&& (view_width == Columns // Window spans the width of the screen,
|| wp->w_grid_alloc.chars) // or has dedicated grid.
&& view_width == grid_width // Window spans the width of its grid.
&& !wp->w_p_rl; // Not right-to-left.
int draw_col = wlv.col - wlv.boguscols;