diff --git a/cmd-display-panes.c b/cmd-display-panes.c index aa665f08..df97819c 100644 --- a/cmd-display-panes.c +++ b/cmd-display-panes.c @@ -204,7 +204,7 @@ cmd_display_panes_key(struct client *c, struct key_event *event) struct cmd_parse_result *pr; if (event->key < '0' || event->key > '9') - return (1); + return (-1); wp = window_pane_at_index(w, event->key - '0'); if (wp == NULL) diff --git a/server-client.c b/server-client.c index e4862d84..a982fe8e 100644 --- a/server-client.c +++ b/server-client.c @@ -1220,9 +1220,13 @@ server_client_handle_key(struct client *c, struct key_event *event) * blocked so they need to be processed immediately rather than queued. */ if ((~c->flags & CLIENT_READONLY) && c->overlay_key != NULL) { - if (c->overlay_key(c, event) != 0) + switch (c->overlay_key(c, event)) { + case 0: + return (0); + case 1: server_client_clear_overlay(c); - return (0); + return (0); + } } /*