diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-04-23 02:01:33 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-04-23 02:01:33 +0100 |
commit | cf5f93b2b39c9730095a42af9e21d6960b7c0071 (patch) | |
tree | d8b8cd07b9f3624fdb94c7b9feaa350556d1ee1c /cmd-move-window.c | |
parent | 4a31eedc26284c04d679fe62e2a1986be74825d0 (diff) | |
parent | 950af3363678de5b88cb6713f4837f1001e46d47 (diff) | |
download | rtmux-cf5f93b2b39c9730095a42af9e21d6960b7c0071.tar.gz rtmux-cf5f93b2b39c9730095a42af9e21d6960b7c0071.tar.bz2 rtmux-cf5f93b2b39c9730095a42af9e21d6960b7c0071.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-move-window.c')
-rw-r--r-- | cmd-move-window.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/cmd-move-window.c b/cmd-move-window.c index eb6f4f1a..94b6c950 100644 --- a/cmd-move-window.c +++ b/cmd-move-window.c @@ -63,9 +63,9 @@ cmd_move_window_exec(struct cmd *self, struct cmdq_item *item) struct cmd_find_state *source = cmdq_get_source(item); struct cmd_find_state target; const char *tflag = args_get(args, 't'); - struct session *src; + struct session *src = source->s; struct session *dst; - struct winlink *wl; + struct winlink *wl = source->wl; char *cause; int idx, kflag, dflag, sflag; @@ -83,9 +83,7 @@ cmd_move_window_exec(struct cmd *self, struct cmdq_item *item) if (cmd_find_target(&target, item, tflag, CMD_FIND_WINDOW, CMD_FIND_WINDOW_INDEX) != 0) return (CMD_RETURN_ERROR); - src = source->s; dst = target.s; - wl = source->wl; idx = target.idx; kflag = args_has(args, 'k'); @@ -93,12 +91,16 @@ cmd_move_window_exec(struct cmd *self, struct cmdq_item *item) sflag = args_has(args, 's'); if (args_has(args, 'a')) { - if ((idx = winlink_shuffle_up(dst, dst->curw)) == -1) + if (target.wl != NULL) + idx = winlink_shuffle_up(dst, target.wl); + else + idx = winlink_shuffle_up(dst, dst->curw); + if (idx == -1) return (CMD_RETURN_ERROR); } if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) { - cmdq_error(item, "can't link window: %s", cause); + cmdq_error(item, "%s", cause); free(cause); return (CMD_RETURN_ERROR); } |