From 45e5fd135da5710f24a1acc142692f120f8b0b78 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 4 Jun 2017 14:58:02 +0200 Subject: patch 8.0.0607: after :bwipe + :new bufref might still be valid Problem: When creating a bufref, then using :bwipe and :new it might get the same memory and bufref_valid() returns true. Solution: Add br_fnum to check the buffer number didn't change. --- src/quickfix.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/quickfix.c') diff --git a/src/quickfix.c b/src/quickfix.c index 6de55f75d..e330e6e9b 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -161,8 +161,8 @@ static qf_info_T *ll_get_or_alloc_list(win_T *); * Looking up a buffer can be slow if there are many. Remember the last one * to make this a lot faster if there are multiple matches in the same file. */ -static char_u *qf_last_bufname = NULL; -static bufref_T qf_last_bufref = {NULL, 0}; +static char_u *qf_last_bufname = NULL; +static bufref_T qf_last_bufref = {NULL, 0, 0}; /* * Read the errorfile "efile" into memory, line by line, building the error @@ -2732,7 +2732,7 @@ qf_history(exarg_T *eap) } /* - * Free error list "idx". + * Free all the entries in the error list "idx". */ static void qf_free(qf_info_T *qi, int idx) -- cgit v1.2.1