aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/memory.c2
-rw-r--r--test/functional/lua/ui_event_spec.lua12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c
index 03cfde6160..61c43d8f99 100644
--- a/src/nvim/memory.c
+++ b/src/nvim/memory.c
@@ -821,9 +821,9 @@ void free_all_mem(void)
decor_free_all_mem();
- nlua_free_all_mem();
ui_free_all_mem();
ui_comp_free_all_mem();
+ nlua_free_all_mem();
// should be last, in case earlier free functions deallocates arenas
arena_free_reuse_blks();
diff --git a/test/functional/lua/ui_event_spec.lua b/test/functional/lua/ui_event_spec.lua
index 294222ad13..57ffcf7b4e 100644
--- a/test/functional/lua/ui_event_spec.lua
+++ b/test/functional/lua/ui_event_spec.lua
@@ -105,4 +105,16 @@ describe('vim.ui_attach', function()
}
end)
+
+ it('does not crash on exit', function()
+ helpers.funcs.system({
+ helpers.nvim_prog,
+ '-u', 'NONE',
+ '-i', 'NONE',
+ '--cmd', [[ lua ns = vim.api.nvim_create_namespace 'testspace' ]],
+ '--cmd', [[ lua vim.ui_attach(ns, {ext_popupmenu=true}, function() end) ]],
+ '--cmd', 'quitall!',
+ })
+ eq(0, helpers.eval('v:shell_error'))
+ end)
end)