aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c
index 41135c00..93d4bffc 100644
--- a/server-client.c
+++ b/server-client.c
@@ -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;