diff options
author | Thomas Adam <thomas@xteddy.org> | 2019-03-12 12:02:42 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2019-03-12 12:02:42 +0000 |
commit | 3ec05e940505f1d0b4e55413f949fdfaceddedde (patch) | |
tree | 843d754e76bb7386f39cb5743ab8de859e880ddd /server-client.c | |
parent | f8a30e158821876e8c30d46ab2728bce739e35de (diff) | |
parent | 3f6bfbaf2babcc7f08f628a82ff31b0b52014e58 (diff) | |
download | rtmux-3ec05e940505f1d0b4e55413f949fdfaceddedde.tar.gz rtmux-3ec05e940505f1d0b4e55413f949fdfaceddedde.tar.bz2 rtmux-3ec05e940505f1d0b4e55413f949fdfaceddedde.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/server-client.c b/server-client.c index df44a4a3..098ff45e 100644 --- a/server-client.c +++ b/server-client.c @@ -919,18 +919,18 @@ server_client_assume_paste(struct session *s) void server_client_handle_key(struct client *c, key_code key) { - struct mouse_event *m = &c->tty.mouse; - struct session *s = c->session; - struct winlink *wl; - struct window *w; - 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; - key_code key0; + struct mouse_event *m = &c->tty.mouse; + struct session *s = c->session; + struct winlink *wl; + struct window *w; + struct window_pane *wp; + struct window_mode_entry *wme; + struct timeval tv; + struct key_table *table, *first; + struct key_binding *bd; + int xtimeout, flags; + struct cmd_find_state fs; + key_code key0; /* Check the client is good to accept input. */ if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0) @@ -1007,11 +1007,9 @@ 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->mode->key_table != NULL) { - tablename = wp->mode->mode->key_table(wp->mode); - table = key_bindings_get_table(tablename, 1); - } + (wme = TAILQ_FIRST(&wp->modes)) != NULL && + wme->mode->key_table != NULL) + table = key_bindings_get_table(wme->mode->key_table(wme), 1); else table = c->keytable; first = table; |