From 7f0bd82cfaff98072bd49db6e6308579d013f523 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Wed, 5 Nov 2025 23:16:02 +0100 Subject: Fix a crash when undoing We were spawning too many completion requests as part of the text being changed. --- src/main/cmds.c | 10 +++++++++- src/main/lsp.c | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/cmds.c b/src/main/cmds.c index fa3ceaa..6505e01 100644 --- a/src/main/cmds.c +++ b/src/main/cmds.c @@ -619,9 +619,17 @@ BUFFER_VIEW_WRAPCMD(paste) BUFFER_VIEW_WRAPCMD(paste_older) BUFFER_VIEW_WRAPCMD(goto_beginning) BUFFER_VIEW_WRAPCMD(goto_end) -BUFFER_VIEW_WRAPCMD(undo) BUFFER_VIEW_WRAPCMD(sort_lines) +static int32_t undo_cmd(struct command_ctx ctx, int argc, const char *argv[]) { + (void)argc; + (void)argv; + pause_completion(); + buffer_view_undo(window_buffer_view(ctx.active_window)); + resume_completion(); + return 0; +} + static int32_t scroll_up_cmd(struct command_ctx ctx, int argc, const char *argv[]) { (void)argc; diff --git a/src/main/lsp.c b/src/main/lsp.c index 5886ea7..2fc452c 100644 --- a/src/main/lsp.c +++ b/src/main/lsp.c @@ -814,6 +814,7 @@ static void handle_response(struct lsp_server *server, message("received response for id %d, server %s, which has no handler " "registered", response.id, lsp_server_name(server->lsp)); + return; } if (pending->handler != NULL) { -- cgit v1.2.3