diff options
author | Thomas Adam <thomas@xteddy.org> | 2021-10-07 10:01:10 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2021-10-07 10:01:10 +0100 |
commit | fed7b29c7e4995eb60ad765c4ff9439f68261c83 (patch) | |
tree | b27293999c7df89ed14984abe9e532b6b4e135f4 /cmd-split-window.c | |
parent | 537441742836b4366c47ad60c19e04463bfd02e3 (diff) | |
parent | 5f63181ed5a9d409fcb0955217fbe4c1a40dd9ff (diff) |
Merge branch 'obsd-master' into master
Diffstat (limited to 'cmd-split-window.c')
-rw-r--r-- | cmd-split-window.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/cmd-split-window.c b/cmd-split-window.c index 74c8b5ab..888d4106 100644 --- a/cmd-split-window.c +++ b/cmd-split-window.c @@ -162,16 +162,22 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item) environ_free(sc.environ); return (CMD_RETURN_ERROR); } - if (input && window_pane_start_input(new_wp, item, &cause) != 0) { - server_client_remove_pane(new_wp); - layout_close_pane(new_wp); - window_remove_pane(wp->window, new_wp); - cmdq_error(item, "%s", cause); - free(cause); - if (sc.argv != NULL) - cmd_free_argv(sc.argc, sc.argv); - environ_free(sc.environ); - return (CMD_RETURN_ERROR); + if (input) { + switch (window_pane_start_input(new_wp, item, &cause)) { + case -1: + server_client_remove_pane(new_wp); + layout_close_pane(new_wp); + window_remove_pane(wp->window, new_wp); + cmdq_error(item, "%s", cause); + free(cause); + if (sc.argv != NULL) + cmd_free_argv(sc.argc, sc.argv); + environ_free(sc.environ); + return (CMD_RETURN_ERROR); + case 1: + input = 0; + break; + } } if (!args_has(args, 'd')) cmd_find_from_winlink_pane(current, wl, new_wp, 0); |