diff options
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index bf69a981..a311376c 100644 --- a/server-client.c +++ b/server-client.c @@ -928,6 +928,7 @@ server_client_handle_key(struct client *c, key_code key) struct window_pane *wp; struct timeval tv; struct key_table *table, *first; + const char *tablename; struct key_binding *bd; int xtimeout, flags; struct cmd_find_state fs; @@ -1009,8 +1010,10 @@ server_client_handle_key(struct client *c, key_code key) if (server_client_is_default_key_table(c, c->keytable) && wp != NULL && wp->mode != NULL && - wp->mode->key_table != NULL) - table = key_bindings_get_table(wp->mode->key_table(wp), 1); + wp->mode->mode->key_table != NULL) { + tablename = wp->mode->mode->key_table(wp->mode); + table = key_bindings_get_table(tablename, 1); + } else table = c->keytable; first = table; |