aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-02-16 14:02:37 +0000
committerThomas Adam <thomas@xteddy.org>2019-02-16 14:02:37 +0000
commitfa8294436c3acf64899e4af5fc46e0f8f5b02c40 (patch)
treefe8390e4ddd793a2b6cf7cc962ff15cd9abf875c
parent9768091ee448d7d3e54778a514ea89d3c809a141 (diff)
parent82f0c859a2bcdfac79d242793b7720b74d62d04b (diff)
downloadrtmux-fa8294436c3acf64899e4af5fc46e0f8f5b02c40.tar.gz
rtmux-fa8294436c3acf64899e4af5fc46e0f8f5b02c40.tar.bz2
rtmux-fa8294436c3acf64899e4af5fc46e0f8f5b02c40.zip
Merge branch 'obsd-master'
-rw-r--r--cfg.c3
-rw-r--r--server-client.c2
-rw-r--r--tmux.h1
3 files changed, 5 insertions, 1 deletions
diff --git a/cfg.c b/cfg.c
index 416dbf7a..53bcaade 100644
--- a/cfg.c
+++ b/cfg.c
@@ -37,6 +37,7 @@ struct cfg_cond {
};
TAILQ_HEAD(cfg_conds, cfg_cond);
+struct client *cfg_client;
static char *cfg_file;
int cfg_finished;
static char **cfg_causes;
@@ -94,7 +95,7 @@ start_cfg(void)
* command queue is currently empty and our callback will be at the
* front - we need to get in before MSG_COMMAND.
*/
- c = TAILQ_FIRST(&clients);
+ cfg_client = c = TAILQ_FIRST(&clients);
if (c != NULL) {
cfg_item = cmdq_get_callback(cfg_client_done, NULL);
cmdq_append(c, cfg_item);
diff --git a/server-client.c b/server-client.c
index dd1e8b81..e461e249 100644
--- a/server-client.c
+++ b/server-client.c
@@ -1996,6 +1996,8 @@ server_client_get_cwd(struct client *c, struct session *s)
{
const char *home;
+ if (!cfg_finished && cfg_client != NULL)
+ return (cfg_client->cwd);
if (c != NULL && c->session == NULL && c->cwd != NULL)
return (c->cwd);
if (s != NULL && s->cwd != NULL)
diff --git a/tmux.h b/tmux.h
index 0255e583..1bbfaae4 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1529,6 +1529,7 @@ void proc_toggle_log(struct tmuxproc *);
/* cfg.c */
extern int cfg_finished;
+extern struct client *cfg_client;
void start_cfg(void);
int load_cfg(const char *, struct client *, struct cmdq_item *, int);
void set_cfg_file(const char *);