diff options
author | 2019-05-07 11:24:03 +0000 | |
---|---|---|
committer | 2019-05-07 11:24:03 +0000 | |
commit | 7df29c9da42e8f683ecbffeb21a87cb387677a30 (patch) | |
tree | 5d0f14b1454e86d6b59473dfcc6882d40fdd1436 /usr.bin/tmux/tty-keys.c | |
parent | Do not use evbuffer_add_buffer because it is destructive and doesn't (diff) | |
download | wireguard-openbsd-7df29c9da42e8f683ecbffeb21a87cb387677a30.tar.xz wireguard-openbsd-7df29c9da42e8f683ecbffeb21a87cb387677a30.zip |
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 'usr.bin/tmux/tty-keys.c')
-rw-r--r-- | usr.bin/tmux/tty-keys.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/usr.bin/tmux/tty-keys.c b/usr.bin/tmux/tty-keys.c index 64593f19925..e8aef1b5d71 100644 --- a/usr.bin/tmux/tty-keys.c +++ b/usr.bin/tmux/tty-keys.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tty-keys.c,v 1.112 2019/05/03 18:00:19 nicm Exp $ */ +/* $OpenBSD: tty-keys.c,v 1.113 2019/05/07 11:24:03 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -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); |