From e2e6b2b0957380e1437e686f98f47ab2932a2f74 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Mon, 21 Oct 2024 13:39:14 +1100 Subject: [PATCH] resolve resource leak in purge_all_state --- lua/nvim-tree.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index d5cbba60..42d53c59 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -786,13 +786,16 @@ local function localise_default_opts() end function M.purge_all_state() - require("nvim-tree.watcher").purge_watchers() view.close_all_tabs() view.abandon_all_windows() - if core.get_explorer() ~= nil then + local explorer = core.get_explorer() + if explorer then require("nvim-tree.git").purge_state() + explorer:destroy() core.reset_explorer() end + -- purge orphaned that were not destroyed by their nodes + require("nvim-tree.watcher").purge_watchers() end ---@param conf table|nil