=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-select-window.c,v retrieving revision 1.18 retrieving revision 1.19 diff -c -r1.18 -r1.19 *** src/usr.bin/tmux/cmd-select-window.c 2016/10/16 19:04:05 1.18 --- src/usr.bin/tmux/cmd-select-window.c 2017/04/22 08:56:24 1.19 *************** *** 1,4 **** ! /* $OpenBSD: cmd-select-window.c,v 1.18 2016/10/16 19:04:05 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-select-window.c,v 1.19 2017/04/22 08:56:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 84,92 **** static enum cmd_retval cmd_select_window_exec(struct cmd *self, struct cmdq_item *item) { ! struct winlink *wl = item->state.tflag.wl; ! struct session *s = item->state.tflag.s; ! int next, previous, last, activity; next = self->entry == &cmd_next_window_entry; if (args_has(self->args, 'n')) --- 84,93 ---- static enum cmd_retval cmd_select_window_exec(struct cmd *self, struct cmdq_item *item) { ! struct cmd_find_state *current = &item->shared->current; ! struct winlink *wl = item->state.tflag.wl; ! struct session *s = item->state.tflag.s; ! int next, previous, last, activity; next = self->entry == &cmd_next_window_entry; if (args_has(self->args, 'n')) *************** *** 116,122 **** return (CMD_RETURN_ERROR); } } ! server_redraw_session(s); } else { /* --- 117,123 ---- return (CMD_RETURN_ERROR); } } ! cmd_find_from_session(&item->shared->current, s); server_redraw_session(s); } else { /* *************** *** 128,136 **** cmdq_error(item, "no last window"); return (-1); } server_redraw_session(s); ! } else if (session_select(s, wl->idx) == 0) server_redraw_session(s); } recalculate_sizes(); --- 129,141 ---- cmdq_error(item, "no last window"); return (-1); } + if (current->s == s) + cmd_find_from_session(current, s); server_redraw_session(s); ! } else if (session_select(s, wl->idx) == 0) { ! cmd_find_from_session(current, s); server_redraw_session(s); + } } recalculate_sizes();