summaryrefslogtreecommitdiffstats
path: root/src/change.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-12-02 15:58:38 +0000
committerBram Moolenaar <Bram@vim.org>2022-12-02 15:58:38 +0000
commitc96b7f5d2af241c5eb1589e9da3dc09e45355e65 (patch)
treeef26f1475c713f971de88df0f7eec925c5822aca /src/change.c
parent9c8d12c8115640927823919001a03c79d4118063 (diff)
patch 9.0.0990: callback name argument is changed by setqflist()v9.0.0990
Problem: Callback name argument is changed by setqflist(). Solution: Use the expanded function name for the callback, do not store it in the argument. (closes #11653)
Diffstat (limited to 'src/change.c')
-rw-r--r--src/change.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/change.c b/src/change.c
index 7796d29207..dc68d3cf7c 100644
--- a/src/change.c
+++ b/src/change.c
@@ -259,6 +259,8 @@ f_listener_add(typval_T *argvars, typval_T *rettv)
buf->b_listener = lnr;
set_callback(&lnr->lr_callback, &callback);
+ if (callback.cb_free_name)
+ vim_free(callback.cb_name);
lnr->lr_id = ++next_listener_id;
rettv->vval.v_number = lnr->lr_id;