summaryrefslogtreecommitdiff
path: root/src/quickfix.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/quickfix.c
parent9c8d12c8115640927823919001a03c79d4118063 (diff)
downloadvim-git-c96b7f5d2af241c5eb1589e9da3dc09e45355e65.tar.gz
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/quickfix.c')
-rw-r--r--src/quickfix.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quickfix.c b/src/quickfix.c
index 4c414e0ad..ca5b35652 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -7633,7 +7633,11 @@ qf_setprop_qftf(qf_info_T *qi UNUSED, qf_list_T *qfl, dictitem_T *di)
free_callback(&qfl->qf_qftf_cb);
cb = get_callback(&di->di_tv);
if (cb.cb_name != NULL && *cb.cb_name != NUL)
+ {
set_callback(&qfl->qf_qftf_cb, &cb);
+ if (cb.cb_free_name)
+ vim_free(cb.cb_name);
+ }
return OK;
}