diff options
author | Thomas Adam <thomas@xteddy.org> | 2018-05-03 19:02:26 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2018-05-03 19:02:26 +0100 |
commit | 1d858aa89eecae2a4aa6021650216ca9fce8ba25 (patch) | |
tree | 5d2f91e582da67035af9dbd34b82ed22bc3223b4 | |
parent | 645fe9013fdddf54ccc66df8a4477604f293a4f6 (diff) | |
parent | e24a077752106189e932be29eb71fe7fc40089b6 (diff) | |
download | rtmux-1d858aa89eecae2a4aa6021650216ca9fce8ba25.tar.gz rtmux-1d858aa89eecae2a4aa6021650216ca9fce8ba25.tar.bz2 rtmux-1d858aa89eecae2a4aa6021650216ca9fce8ba25.zip |
Merge branch 'obsd-master'
-rw-r--r-- | cmd-find.c | 11 | ||||
-rw-r--r-- | cmd-new-window.c | 2 |
2 files changed, 7 insertions, 6 deletions
@@ -436,15 +436,15 @@ cmd_find_get_window_with_session(struct cmd_find_state *fs, const char *window) if (window[0] != '+' && window[0] != '-') { idx = strtonum(window, 0, INT_MAX, &errstr); if (errstr == NULL) { - if (fs->flags & CMD_FIND_WINDOW_INDEX) { - fs->idx = idx; - return (0); - } fs->wl = winlink_find_by_index(&fs->s->windows, idx); if (fs->wl != NULL) { fs->w = fs->wl->window; return (0); } + if (fs->flags & CMD_FIND_WINDOW_INDEX) { + fs->idx = idx; + return (0); + } } } @@ -1181,7 +1181,8 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item, /* This will fill in session, winlink and window. */ if (cmd_find_get_window(fs, window, window_only) != 0) goto no_window; - fs->wp = fs->wl->window->active; + if (fs->wl != NULL) /* can be NULL if index only */ + fs->wp = fs->wl->window->active; goto found; } diff --git a/cmd-new-window.c b/cmd-new-window.c index 4c9878ed..6517e99e 100644 --- a/cmd-new-window.c +++ b/cmd-new-window.c @@ -63,7 +63,7 @@ cmd_new_window_exec(struct cmd *self, struct cmdq_item *item) struct environ_entry *envent; struct cmd_find_state fs; - if (args_has(args, 'a')) { + if (args_has(args, 'a') && wl != NULL) { if ((idx = winlink_shuffle_up(s, wl)) == -1) { cmdq_error(item, "no free window indexes"); return (CMD_RETURN_ERROR); |