summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server-client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c
index e8faedc7..5694a2a0 100644
--- a/server-client.c
+++ b/server-client.c
@@ -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;