aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
authorluukvbaal <31730729+luukvbaal@users.noreply.github.com>2023-01-17 00:31:36 +0100
committerGitHub <noreply@github.com>2023-01-17 07:31:36 +0800
commitda3460562e84dcf608248cc9a5b0eb2341531a0d (patch)
treea9e07e0448db990eba18c4bf7d895491551b4685 /test/functional/api/vim_spec.lua
parent9ccc6de8d3ebfec0aebdc6dabdb23dd43f102331 (diff)
downloadrneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.tar.gz
rneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.tar.bz2
rneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.zip
fix(api): avoid memory leak with click functions in nvim_eval_statusline() (#21845)
Problem: Allocated click function memory is lost due to `nvim_eval_statusline()` not passing in a `StlClickRecord`. Solution: Do not allocate click function memory if `tabtab == NULL`. Resolve #21764, supersede #21842.
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r--test/functional/api/vim_spec.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 68003e918b..d1314216e2 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -3211,6 +3211,17 @@ describe('API', function()
'TextWithNoHighlight%#WarningMsg#TextWithWarningHighlight',
{ use_winbar = true, highlights = true }))
end)
+ it('no memory leak with click functions', function()
+ meths.eval_statusline('%@ClickFunc@StatusLineStringWithClickFunc%T', {})
+ eq({
+ str = 'StatusLineStringWithClickFunc',
+ width = 29
+ },
+ meths.eval_statusline(
+ '%@ClickFunc@StatusLineStringWithClickFunc%T',
+ {})
+ )
+ end)
end)
end)
describe('nvim_parse_cmd', function()