fix(tabline): avoid memory leak in tabline click definitions (#21847)

Problem:    Memory is leaked in tabline click definitions since
            https://github.com/neovim/neovim/pull/21008.
Solution:   Add back a call to `stl_clear_click_defs()` that was lost in
            the refactor PR.
This commit is contained in:
luukvbaal 2023-01-17 02:51:01 +01:00 committed by GitHub
parent 6c2f02cbd0
commit f6929ea51d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

@ -733,6 +733,10 @@ void draw_tabline(void)
return;
}
// Clear tab_page_click_defs: Clicking outside of tabs has no effect.
assert(tab_page_click_defs_size >= (size_t)Columns);
stl_clear_click_defs(tab_page_click_defs, tab_page_click_defs_size);
// Use the 'tabline' option if it's set.
if (*p_tal != NUL) {
win_redr_custom(NULL, false, false);

View File

@ -119,4 +119,10 @@ describe("tabline", function()
[2] = {bold = true, foreground = Screen.colors.Blue};
}}
end)
it('click definitions do not leak memory #21765', function()
command('set tabline=%@MyClickFunc@MyClickText%T')
command('set showtabline=2')
command('redrawtabline')
end)
end)