summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r--usr.bin/tmux/server-client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c
index 9fcf8d01fcc..cf6d687fc37 100644
--- a/usr.bin/tmux/server-client.c
+++ b/usr.bin/tmux/server-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-client.c,v 1.221 2017/04/20 15:16:20 nicm Exp $ */
+/* $OpenBSD: server-client.c,v 1.222 2017/04/21 14:01:19 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -908,7 +908,8 @@ retry:
* non-repeating binding was found, stop repeating and try
* again in the root table.
*/
- if ((c->flags & CLIENT_REPEAT) && !bd->can_repeat) {
+ if ((c->flags & CLIENT_REPEAT) &&
+ (~bd->flags & KEY_BINDING_REPEAT)) {
server_client_set_key_table(c, NULL);
c->flags &= ~CLIENT_REPEAT;
server_status_client(c);
@@ -926,7 +927,7 @@ retry:
* the client back to the root table.
*/
xtimeout = options_get_number(s->options, "repeat-time");
- if (xtimeout != 0 && bd->can_repeat) {
+ if (xtimeout != 0 && (bd->flags & KEY_BINDING_REPEAT)) {
c->flags |= CLIENT_REPEAT;
tv.tv_sec = xtimeout / 1000;