aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-01-18 17:55:03 +0800
committerGitHub <noreply@github.com>2023-01-18 17:55:03 +0800
commit36555730daaac8a9b88878a869c0cef6d5b701f0 (patch)
treeb383b83f9b5dda2319ddeff206584fbbda8c79b2 /src
parent0aae7f386042593aecfc8237020899d0e94fe8e4 (diff)
downloadrneovim-36555730daaac8a9b88878a869c0cef6d5b701f0.tar.gz
rneovim-36555730daaac8a9b88878a869c0cef6d5b701f0.tar.bz2
rneovim-36555730daaac8a9b88878a869c0cef6d5b701f0.zip
fix(statuscolumn): always fill click defs array (#21878)
Click definitions are always filled for tabline, statusline and winbar, so they should also be always filled for statuscolumn, otherwise it will leak memory. Note: this doesn't actually change the existing code much, because of a typo in the existing code.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/statusline.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c
index 46cd600d81..0658919cc9 100644
--- a/src/nvim/statusline.c
+++ b/src/nvim/statusline.c
@@ -894,13 +894,10 @@ int build_statuscol_str(win_T *wp, linenr_T lnum, long relnum, int maxwidth, int
fillchar, maxwidth, hlrec, &clickrec, stcp);
xfree(stc);
- // Allocate and fill click def array if width has changed
- if (wp->w_status_click_defs_size != (size_t)width) {
- stl_clear_click_defs(wp->w_statuscol_click_defs, wp->w_statuscol_click_defs_size);
- wp->w_statuscol_click_defs = stl_alloc_click_defs(wp->w_statuscol_click_defs, width,
- &wp->w_statuscol_click_defs_size);
- stl_fill_click_defs(wp->w_statuscol_click_defs, clickrec, buf, width, false);
- }
+ stl_clear_click_defs(wp->w_statuscol_click_defs, wp->w_statuscol_click_defs_size);
+ wp->w_statuscol_click_defs = stl_alloc_click_defs(wp->w_statuscol_click_defs, width,
+ &wp->w_statuscol_click_defs_size);
+ stl_fill_click_defs(wp->w_statuscol_click_defs, clickrec, buf, width, false);
return width;
}