summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
diff options
context:
space:
mode:
authornicm <nicm>2019-05-07 11:24:03 +0000
committernicm <nicm>2019-05-07 11:24:03 +0000
commit85a9c2f52b8855560fa9fdaa033d1c7bca738429 (patch)
treeb1e0274124ba02ba6cb5c368bbcd09394e782405 /tty-keys.c
parent69440d19b783c72139f22c5c72b34b55d99e71de (diff)
Treat keys in identify mode (display-panes) specially and handle them
immediately rather than queuing them (the command can block the queue which means they were not being seen until it finished which was too late). Reported by denis@ and solene@, ok solene@.
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 90f34877..3ab7f184 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -573,7 +573,6 @@ tty_keys_next(struct tty *tty)
cc_t bspace;
int delay, expired = 0, n;
key_code key;
- struct cmdq_item *item;
struct mouse_event m = { 0 };
struct key_event *event;
@@ -732,9 +731,8 @@ complete_key:
event = xmalloc(sizeof *event);
event->key = key;
memcpy(&event->m, &m, sizeof event->m);
-
- item = cmdq_get_callback(server_client_key_callback, event);
- cmdq_append(c, item);
+ if (!server_client_handle_key(c, event))
+ free(event);
}
return (1);