From 2b60c648c4e0202ca2743fe958e0eabfc0479f55 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 5 Jun 2011 10:53:05 +0000 Subject: Get rid of the layout string code which tries to walk through the layout hierarchy and instead just look at what panes are actually in the window. --- cmd.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'cmd.c') diff --git a/cmd.c b/cmd.c index f1cba109..869fa0f5 100644 --- a/cmd.c +++ b/cmd.c @@ -1058,12 +1058,11 @@ struct winlink * cmd_find_pane(struct cmd_ctx *ctx, const char *arg, struct session **sp, struct window_pane **wpp) { - struct session *s; - struct winlink *wl; - struct layout_cell *lc; - const char *period, *errstr; - char *winptr, *paneptr; - u_int idx; + struct session *s; + struct winlink *wl; + const char *period, *errstr; + char *winptr, *paneptr; + u_int idx; /* Get the current session. */ if ((s = cmd_current_session(ctx, 0)) == NULL) { @@ -1119,11 +1118,10 @@ cmd_find_pane(struct cmd_ctx *ctx, lookup_string: /* Try pane string description. */ - if ((lc = layout_find_string(wl->window, paneptr)) == NULL) { + if ((*wpp = window_find_string(wl->window, paneptr)) == NULL) { ctx->error(ctx, "can't find pane: %s", paneptr); goto error; } - *wpp = lc->wp; xfree(winptr); return (wl); @@ -1142,10 +1140,8 @@ no_period: lookup_window: /* Try pane string description. */ - if ((lc = layout_find_string(s->curw->window, arg)) != NULL) { - *wpp = lc->wp; + if ((*wpp = window_find_string(s->curw->window, arg)) != NULL) return (s->curw); - } /* Try as a window and use the active pane. */ if ((wl = cmd_find_window(ctx, arg, sp)) != NULL) -- cgit