From 466fbed3e4b61fcc23a48fe99de7bfa264a9fee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20H=C3=A4rtl?= Date: Sat, 10 Aug 2024 04:21:48 +0200 Subject: [PATCH] fix(#2859): make sure window still exists when restoring options (#2863) Co-authored-by: Alexander Courtis --- lua/nvim-tree/actions/node/open-file.lua | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lua/nvim-tree/actions/node/open-file.lua b/lua/nvim-tree/actions/node/open-file.lua index b7ef5c50627..c9bea9e1fb8 100644 --- a/lua/nvim-tree/actions/node/open-file.lua +++ b/lua/nvim-tree/actions/node/open-file.lua @@ -167,11 +167,14 @@ local function pick_win_id() if laststatus == 3 then for _, id in ipairs(not_selectable) do - for opt, value in pairs(win_opts[id]) do - if vim.fn.has "nvim-0.10" == 1 then - vim.api.nvim_set_option_value(opt, value, { win = id }) - else - vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated + -- Ensure window still exists at this point + if vim.api.nvim_win_is_valid(id) then + for opt, value in pairs(win_opts[id]) do + if vim.fn.has "nvim-0.10" == 1 then + vim.api.nvim_set_option_value(opt, value, { win = id }) + else + vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated + end end end end