diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dged/minibuffer.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/dged/minibuffer.c b/src/dged/minibuffer.c index bbe80ed..64b0a98 100644 --- a/src/dged/minibuffer.c +++ b/src/dged/minibuffer.c @@ -37,6 +37,8 @@ uint32_t minibuffer_draw_prompt(struct command_list *commands) { return len; } +static void minibuffer_abort_prompt_internal(bool clear); + int32_t minibuffer_execute() { if (g_minibuffer.prompt_active) { struct command_ctx *c = &g_minibuffer.prompt_command_ctx; @@ -64,9 +66,9 @@ int32_t minibuffer_execute() { } } + minibuffer_abort_prompt_internal(false); int32_t res = execute_command(c->self, c->commands, c->active_window, c->buffers, argc, (const char **)argv); - minibuffer_abort_prompt(); free(l); @@ -231,8 +233,10 @@ void minibuffer_set_prompt(const char *fmt, ...) { va_end(args); } -void minibuffer_abort_prompt() { - minibuffer_clear(); +static void minibuffer_abort_prompt_internal(bool clear) { + if (clear) { + minibuffer_clear(); + } g_minibuffer.prompt_active = false; if (g_minibuffer.prev_window != NULL) { @@ -240,6 +244,8 @@ void minibuffer_abort_prompt() { } } +void minibuffer_abort_prompt() { minibuffer_abort_prompt_internal(true); } + bool minibuffer_empty() { return !minibuffer_displaying(); } bool minibuffer_displaying() { |
