From 6be9d837351af38de535535b71601c4103682f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20H=C3=A4rtl?= Date: Sun, 4 Aug 2024 08:49:56 +0200 Subject: [PATCH] fix(#2859): make sure window still exists when restoring options --- 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