From a404f6e768c6997b33c2610e9a0cefe1aeb3a08d Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sun, 31 Mar 2024 21:03:23 +0200 Subject: [PATCH] fix: destroy editor before creating a new one Editor lifetimes should not overlap otherwise we run into duplicate command issues. --- src/tui/mainview.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index 2bd855b..f0aee3e 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -333,6 +333,7 @@ pub fn walk(self: *Self, ctx: *anyopaque, f: Widget.WalkFn, w: *Widget) bool { } fn create_editor(self: *Self) tp.result { + self.widgets.replace(0, Widget.empty(self.a, self.plane, .dynamic) catch |e| return tp.exit_error(e)); command.executeName("enter_mode_default", .{}) catch {}; var editor_widget = ed.create(self.a, Widget.to(self)) catch |e| return tp.exit_error(e); errdefer editor_widget.deinit(self.a);