From e45499816eab8abadbdd5bb6dd79b526a4ed6648 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Sat, 11 Feb 2023 23:03:39 +0100 Subject: Implement undo This also fixes a bunch of valgrind errors --- src/main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index b4f512b..6a84dd4 100644 --- a/src/main.c +++ b/src/main.c @@ -129,6 +129,7 @@ int main(int argc, char *argv[]) { buffers_init(&buflist, 32); struct buffer initial_buffer = buffer_create("welcome", true); if (filename != NULL) { + buffer_destroy(&initial_buffer); initial_buffer = buffer_from_file(filename); } else { const char *welcome_txt = "Welcome to the editor for datagubbar 👴\n"; @@ -147,12 +148,11 @@ int main(int argc, char *argv[]) { }; // and one for the minibuffer - struct buffer *minibuffer = - buffers_add(&buflist, buffer_create("minibuffer", false)); + struct buffer minibuffer = buffer_create("minibuffer", false); - minibuffer_init(minibuffer); + minibuffer_init(&minibuffer); struct window minibuffer_window = (struct window){ - .buffer = minibuffer, + .buffer = &minibuffer, .prev_buffer = NULL, .x = 0, .y = display_height(display) - 1, @@ -307,6 +307,7 @@ int main(int argc, char *argv[]) { frame_allocator_clear(&frame_allocator); } + buffer_destroy(&minibuffer); buffers_destroy(&buflist); display_clear(display); display_destroy(display); @@ -315,6 +316,7 @@ int main(int argc, char *argv[]) { command_registry_destroy(&commands); reactor_destroy(reactor); frame_allocator_destroy(&frame_allocator); + buffer_static_teardown(); return 0; } -- cgit v1.2.3