mirror of
https://github.com/tmux/tmux.git
synced 2025-01-12 19:39:04 +00:00
Do not try to use the client if the item containing it is NULL.
This commit is contained in:
parent
315961faec
commit
5288801d3e
22
cmd-find.c
22
cmd-find.c
@ -1231,29 +1231,31 @@ no_pane:
|
||||
static struct client *
|
||||
cmd_find_current_client(struct cmdq_item *item, int quiet)
|
||||
{
|
||||
struct client *c;
|
||||
struct client *c = NULL, *found;
|
||||
struct session *s;
|
||||
struct window_pane *wp;
|
||||
struct cmd_find_state fs;
|
||||
|
||||
if (item->client != NULL && item->client->session != NULL)
|
||||
return (item->client);
|
||||
if (item != NULL)
|
||||
c = item->client;
|
||||
if (c != NULL && c->session != NULL)
|
||||
return (c);
|
||||
|
||||
c = NULL;
|
||||
if ((wp = cmd_find_inside_pane(item->client)) != NULL) {
|
||||
found = NULL;
|
||||
if (c != NULL && (wp = cmd_find_inside_pane(c)) != NULL) {
|
||||
cmd_find_clear_state(&fs, CMD_FIND_QUIET);
|
||||
fs.w = wp->window;
|
||||
if (cmd_find_best_session_with_window(&fs) == 0)
|
||||
c = cmd_find_best_client(fs.s);
|
||||
found = cmd_find_best_client(fs.s);
|
||||
} else {
|
||||
s = cmd_find_best_session(NULL, 0, CMD_FIND_QUIET);
|
||||
if (s != NULL)
|
||||
c = cmd_find_best_client(s);
|
||||
found = cmd_find_best_client(s);
|
||||
}
|
||||
if (c == NULL && !quiet)
|
||||
if (found == NULL && item != NULL && !quiet)
|
||||
cmdq_error(item, "no current client");
|
||||
log_debug("%s: no target, return %p", __func__, c);
|
||||
return (c);
|
||||
log_debug("%s: no target, return %p", __func__, found);
|
||||
return (found);
|
||||
}
|
||||
|
||||
/* Find the target client or report an error and return NULL. */
|
||||
|
Loading…
Reference in New Issue
Block a user