From 3e78319ac608abadd5204e00295dc3ace7e2edd8 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Sat, 23 Mar 2019 00:23:39 +0100 Subject: help: ignore snapshotted window if invalid (#9774) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nvim doesn't expect a window-changing command on an created-window event. autocmd WinNew * wincmd p help help - A snapshot for window 1000 is created. - The window is split and the cursor changes to the new window 1001. - The autocmd kicks in and switches back to 1000. - The help buffer is opened. - On closing the help window 1000, it tries to go back to the snapshotted window which is... 1000. - wp1000->w_buffer == NULL - w_buffer is used by check_cursor() - 🧨 -> 💥 Fixes https://github.com/neovim/neovim/issues/9773 --- src/nvim/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/window.c') diff --git a/src/nvim/window.c b/src/nvim/window.c index e60cfbfb92..f9a0839702 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -6062,7 +6062,7 @@ static win_T *get_snapshot_focus(int idx) } } - return sn->fr_win; + return win_valid(sn->fr_win) ? sn->fr_win : NULL; } /* -- cgit