Continue and pass keys through if they are repeated keys, so that the

first key after a repeated key doesn't get lost.
pull/962/head
nicm 2017-06-06 15:49:35 +00:00
parent bbc35b0b19
commit 50b27c8c0d
1 changed files with 3 additions and 2 deletions

View File

@ -816,7 +816,7 @@ server_client_handle_key(struct client *c, key_code key)
struct timeval tv;
struct key_table *table, *first;
struct key_binding bd_find, *bd;
int xtimeout;
int xtimeout, flags;
struct cmd_find_state fs;
/* Check the client is good to accept input. */
@ -913,6 +913,7 @@ server_client_handle_key(struct client *c, key_code key)
server_status_client(c);
return;
}
flags = c->flags;
retry:
/* Log key table. */
@ -990,7 +991,7 @@ retry:
* No match in the root table either. If this wasn't the first table
* tried, don't pass the key to the pane.
*/
if (first != table) {
if (first != table && (~flags & CLIENT_REPEAT)) {
server_client_set_key_table(c, NULL);
server_status_client(c);
return;