From 24b5f69a4922e53baa46faf4f5e0b05da42cd2d5 Mon Sep 17 00:00:00 2001 From: Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> Date: Mon, 31 Aug 2020 09:53:10 +0200 Subject: fix(win): ignore closing wins in win_findbuf #12798 This caused segfaults when calling win_findbuf in an `on_detach` callback, when the callback was triggered when closing the last window containing the buffer. --- src/nvim/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/window.c b/src/nvim/window.c index 0fff93d984..cec0dfd67f 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -6986,7 +6986,7 @@ void win_findbuf(typval_T *argvars, list_T *list) int bufnr = tv_get_number(&argvars[0]); FOR_ALL_TAB_WINDOWS(tp, wp) { - if (wp->w_buffer->b_fnum == bufnr) { + if (!wp->w_closing && wp->w_buffer->b_fnum == bufnr) { tv_list_append_number(list, wp->handle); } } -- cgit