diff options
author | luukvbaal <luukvbaal@gmail.com> | 2024-06-01 12:10:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-01 18:10:35 +0800 |
commit | f2083bd55cafe861e9dffb1c1658e5b0983c5ef6 (patch) | |
tree | f25ec1af928c20a90e127cfe31bd1897441a8154 /src/nvim/drawline.c | |
parent | 138a93a057dabd70673b7466bf5af41bd66f1385 (diff) | |
download | rneovim-f2083bd55cafe861e9dffb1c1658e5b0983c5ef6.tar.gz rneovim-f2083bd55cafe861e9dffb1c1658e5b0983c5ef6.tar.bz2 rneovim-f2083bd55cafe861e9dffb1c1658e5b0983c5ef6.zip |
fix(column): crash with 'signcolumn' set to "number" (#29003)
Problem: Numberwidth may depend on number of signs with text in the
buffer and is not handled correctly for extmark signs.
Solution: Move legacy sign code for changed numberwidth so that it is
handled properly for legacy and extmark signs alike.
Diffstat (limited to 'src/nvim/drawline.c')
-rw-r--r-- | src/nvim/drawline.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index 4d534d78a2..3bd00ee3f9 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -465,6 +465,7 @@ static void draw_sign(bool nrcol, win_T *wp, winlinevars_T *wlv, int sign_idx, i int fill = nrcol ? number_width(wp) + 1 : SIGN_WIDTH; draw_col_fill(wlv, schar_from_ascii(' '), fill, attr); int sign_pos = wlv->off - SIGN_WIDTH - (int)nrcol; + assert(sign_pos >= 0); linebuf_char[sign_pos] = sattr.text[0]; linebuf_char[sign_pos + 1] = sattr.text[1]; } else { |