diff options
author | nicm <nicm> | 2017-04-21 22:23:24 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-04-21 22:23:24 +0000 |
commit | c8ecbf38ab09d00920e97bd9363e16a1ebed0fa7 (patch) | |
tree | 73320de7f20ff71c652ea97e7aeb4b97da215253 | |
parent | 194a121ef68d5af557e3e158d1aa6a8f013cd2ac (diff) | |
download | rtmux-c8ecbf38ab09d00920e97bd9363e16a1ebed0fa7.tar.gz rtmux-c8ecbf38ab09d00920e97bd9363e16a1ebed0fa7.tar.bz2 rtmux-c8ecbf38ab09d00920e97bd9363e16a1ebed0fa7.zip |
Log error properly when no current state, and some other minor tweaks.
-rw-r--r-- | cmd-find.c | 5 | ||||
-rw-r--r-- | cmd-queue.c | 6 | ||||
-rw-r--r-- | server-client.c | 3 |
3 files changed, 5 insertions, 9 deletions
@@ -974,9 +974,8 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item, fs->current = ¤t; log_debug("%s: current is from client", __func__); } else - return (-1); - if (!cmd_find_empty_state(fs->current) && - !cmd_find_valid_state(fs->current)) + goto error; + if (!cmd_find_valid_state(fs->current)) fatalx("invalid current find state"); /* An empty or NULL target is the current. */ diff --git a/cmd-queue.c b/cmd-queue.c index a7a29b58..99ec6055 100644 --- a/cmd-queue.c +++ b/cmd-queue.c @@ -203,14 +203,14 @@ cmdq_fire_command(struct cmdq_item *item) flags = !!(cmd->flags & CMD_CONTROL); cmdq_guard(item, "begin", flags); + if (item->client == NULL) + item->client = cmd_find_client(item, NULL, 1); + if (cmd_prepare_state(cmd, item) != 0) { retval = CMD_RETURN_ERROR; goto out; } - if (item->client == NULL) - item->client = cmd_find_client(item, NULL, 1); - retval = cmd->entry->exec(cmd, item); if (retval == CMD_RETURN_ERROR) goto out; diff --git a/server-client.c b/server-client.c index 63f9e5bf..875f7ef7 100644 --- a/server-client.c +++ b/server-client.c @@ -950,9 +950,6 @@ retry: if (KEYC_IS_MOUSE(key) && m->valid && wp != NULL) { cmd_find_from_winlink_pane(&fs, s->curw, wp); cmd_find_log_state(__func__, &fs); - - if (!cmd_find_valid_state(&fs)) - fatalx("invalid key state"); key_bindings_dispatch(bd, c, m, &fs); } else key_bindings_dispatch(bd, c, m, NULL); |