diff options
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -185,6 +185,7 @@ menu_key_cb(struct client *c, struct key_event *event) int count = menu->count, old = md->choice; const struct menu_item *item; struct cmdq_item *new_item; + struct cmdq_state *new_state; struct cmd_parse_result *pr; const char *name; @@ -285,7 +286,9 @@ chosen: event = cmdq_get_event(md->item); else event = NULL; - new_item = cmdq_get_command(pr->cmdlist, &md->fs, event, 0); + new_state = cmdq_new_state(&md->fs, event, 0); + new_item = cmdq_get_command(pr->cmdlist, new_state); + cmdq_free_state(new_state); cmd_list_free(pr->cmdlist); cmdq_append(c, new_item); break; |