diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/command/commands.c | 4 | ||||
-rw-r--r-- | src/ui/core.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index 3bc595af..74d2bbe8 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2060,6 +2060,10 @@ cmd_form(gchar **args, struct cmd_help_t help) if ((g_strcmp0(args[0], "submit") == 0) || (g_strcmp0(args[0], "cancel") == 0)) { + if (current->form) { + cmd_autocomplete_remove_form_fields(current->form); + } + wins_close_current(); current = wins_get_by_recipient(room); if (current == NULL) { diff --git a/src/ui/core.c b/src/ui/core.c index 837cac3d..907c525e 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -1013,6 +1013,13 @@ _ui_close_current(void) static void _ui_close_win(int index) { + ProfWin *window = wins_get_by_num(index); + if (window) { + if (window->type == WIN_MUC_CONFIG && window->form) { + cmd_autocomplete_remove_form_fields(window->form); + } + } + wins_close_by_num(index); title_bar_console(); status_bar_current(1); |