=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-find.c,v retrieving revision 1.78 retrieving revision 1.79 diff -c -r1.78 -r1.79 *** src/usr.bin/tmux/cmd-find.c 2020/04/13 14:46:04 1.78 --- src/usr.bin/tmux/cmd-find.c 2020/05/16 16:20:59 1.79 *************** *** 1,4 **** ! /* $OpenBSD: cmd-find.c,v 1.78 2020/04/13 14:46:04 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-find.c,v 1.79 2020/05/16 16:20:59 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott *************** *** 588,609 **** return (-1); return (0); } else if (strcmp(pane, "{up-of}") == 0) { ! fs->wp = window_pane_find_up(fs->w->active); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{down-of}") == 0) { ! fs->wp = window_pane_find_down(fs->w->active); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{left-of}") == 0) { ! fs->wp = window_pane_find_left(fs->w->active); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{right-of}") == 0) { ! fs->wp = window_pane_find_right(fs->w->active); if (fs->wp == NULL) return (-1); return (0); --- 588,609 ---- return (-1); return (0); } else if (strcmp(pane, "{up-of}") == 0) { ! fs->wp = window_pane_find_up(fs->current->wp); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{down-of}") == 0) { ! fs->wp = window_pane_find_down(fs->current->wp); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{left-of}") == 0) { ! fs->wp = window_pane_find_left(fs->current->wp); if (fs->wp == NULL) return (-1); return (0); } else if (strcmp(pane, "{right-of}") == 0) { ! fs->wp = window_pane_find_right(fs->current->wp); if (fs->wp == NULL) return (-1); return (0); *************** *** 615,621 **** n = strtonum(pane + 1, 1, INT_MAX, NULL); else n = 1; ! wp = fs->w->active; if (pane[0] == '+') fs->wp = window_pane_next_by_number(fs->w, wp, n); else --- 615,621 ---- n = strtonum(pane + 1, 1, INT_MAX, NULL); else n = 1; ! wp = fs->current->wp; if (pane[0] == '+') fs->wp = window_pane_next_by_number(fs->w, wp, n); else *************** *** 867,873 **** /* If this is an attached client, all done. */ if (c->session != NULL) { ! cmd_find_from_session(fs, c->session, flags); return (0); } cmd_find_clear_state(fs, flags); --- 867,884 ---- /* If this is an attached client, all done. */ if (c->session != NULL) { ! cmd_find_clear_state(fs, flags); ! ! fs->wp = server_client_get_pane(c); ! if (fs->wp == NULL) { ! cmd_find_from_session(fs, c->session, flags); ! return (0); ! } ! fs->s = c->session; ! fs->wl = fs->s->curw; ! fs->w = fs->wl->window; ! ! cmd_find_log_state(__func__, fs); return (0); } cmd_find_clear_state(fs, flags);