aboutsummaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/menu.c b/menu.c
index 6c571473..b76869bc 100644
--- a/menu.c
+++ b/menu.c
@@ -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;
@@ -282,10 +283,12 @@ chosen:
break;
case CMD_PARSE_SUCCESS:
if (md->item != NULL)
- m = &cmdq_get_state(md->item)->event.m;
+ event = cmdq_get_event(md->item);
else
- m = NULL;
- new_item = cmdq_get_command(pr->cmdlist, &md->fs, m, 0);
+ event = NULL;
+ 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;