=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-display-message.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- src/usr.bin/tmux/cmd-display-message.c 2020/07/27 08:03:10 1.55 +++ src/usr.bin/tmux/cmd-display-message.c 2021/04/07 12:49:33 1.56 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-display-message.c,v 1.55 2020/07/27 08:03:10 nicm Exp $ */ +/* $OpenBSD: cmd-display-message.c,v 1.56 2021/04/07 12:49:33 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha @@ -43,7 +43,7 @@ .usage = "[-aIpv] [-c target-client] [-d delay] [-F format] " CMD_TARGET_PANE_USAGE " [message]", - .target = { 't', CMD_FIND_PANE, 0 }, + .target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL }, .flags = CMD_AFTERHOOK|CMD_CLIENT_CFLAG|CMD_CLIENT_CANFAIL, .exec = cmd_display_message_exec @@ -73,6 +73,8 @@ int flags; if (args_has(args, 'I')) { + if (wp == NULL) + return (CMD_RETURN_NORMAL); if (window_pane_start_input(wp, item, &cause) != 0) { cmdq_error(item, "%s", cause); free(cause); @@ -109,8 +111,10 @@ */ if (tc != NULL && tc->session == s) c = tc; - else + else if (s != NULL) c = cmd_find_best_client(s); + else + c = NULL; if (args_has(args, 'v')) flags = FORMAT_VERBOSE; else @@ -124,7 +128,9 @@ } msg = format_expand_time(ft, template); - if (args_has(args, 'p')) + if (cmdq_get_client(item) == NULL) + cmdq_error(item, "%s", msg); + else if (args_has(args, 'p')) cmdq_print(item, "%s", msg); else if (tc != NULL) status_message_set(tc, delay, 0, "%s", msg);