aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c7
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;