The branch, master has been updated
       via  afd5e978cf8dca6dcd824b224ce798f6b7522605 (commit)
      from  e68b9abd0403d09c6af993427482e27c0f308765 (commit)

- Log -----------------------------------------------------------------
commit afd5e978cf8dca6dcd824b224ce798f6b7522605
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Commit: Nicholas Marriott <nicholas.marri...@gmail.com>

    Need to set clients in context before changing their reference count.
---
 cfg.c                |    2 +-
 cmd-command-prompt.c |    3 +--
 cmd-confirm-before.c |    3 +--
 cmd.c                |    5 ++++-
 control.c            |    3 +--
 key-bindings.c       |    3 +--
 server-client.c      |    3 +--
 tmux.h               |    2 +-
 window-choose.c      |    3 +--
 9 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/cfg.c b/cfg.c
index 7acc08b..57b70b5 100644
--- a/cfg.c
+++ b/cfg.c
@@ -92,7 +92,7 @@ load_cfg(const char *path, struct cmd_ctx *ctx, struct 
causelist *causes)
        if (ctx != NULL)
                cmd_ref_ctx(ctx);
        else {
-               ctx = cmd_get_ctx();
+               ctx = cmd_get_ctx(NULL, NULL);
                ctx->error = cfg_error;
                ctx->print = cfg_print;
                ctx->info = cfg_print;
diff --git a/cmd-command-prompt.c b/cmd-command-prompt.c
index c18f9ad..e1db3dd 100644
--- a/cmd-command-prompt.c
+++ b/cmd-command-prompt.c
@@ -184,8 +184,7 @@ cmd_command_prompt_callback(void *data, const char *s)
                return (0);
        }
 
-       ctx = cmd_get_ctx();
-       ctx->curclient = c;
+       ctx = cmd_get_ctx(NULL, c);
        ctx->error = key_bindings_error;
        ctx->print = key_bindings_print;
        ctx->info = key_bindings_info;
diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c
index 067b5e7..0b41592 100644
--- a/cmd-confirm-before.c
+++ b/cmd-confirm-before.c
@@ -125,8 +125,7 @@ cmd_confirm_before_callback(void *data, const char *s)
                return (0);
        }
 
-       ctx = cmd_get_ctx();
-       ctx->curclient = c;
+       ctx = cmd_get_ctx(NULL, c);
        ctx->error = key_bindings_error;
        ctx->print = key_bindings_print;
        ctx->info = key_bindings_info;
diff --git a/cmd.c b/cmd.c
index 23e86cf..5c02314 100644
--- a/cmd.c
+++ b/cmd.c
@@ -133,13 +133,16 @@ int                cmd_find_index_offset(const char *, 
struct session *, int *);
 struct window_pane *cmd_find_pane_offset(const char *, struct winlink *);
 
 struct cmd_ctx *
-cmd_get_ctx(void)
+cmd_get_ctx(struct client *cmdclient, struct client *curclient)
 {
        struct cmd_ctx  *ctx;
 
        ctx = xcalloc(1, sizeof *ctx);
        ctx->references = 0;
 
+       ctx->cmdclient = cmdclient;
+       ctx->curclient = curclient;
+
        cmd_ref_ctx(ctx);
        return (ctx);
 }
diff --git a/control.c b/control.c
index 8e3c4e8..b0368df 100644
--- a/control.c
+++ b/control.c
@@ -108,8 +108,7 @@ control_callback(struct client *c, int closed, unused void 
*data)
                        break;
                }
 
-               ctx = cmd_get_ctx();
-               ctx->curclient = c;
+               ctx = cmd_get_ctx(NULL, c);
                ctx->error = control_msg_error;
                ctx->print = control_msg_print;
                ctx->info = control_msg_info;
diff --git a/key-bindings.c b/key-bindings.c
index f510ba6..9e5a729 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -266,8 +266,7 @@ key_bindings_dispatch(struct key_binding *bd, struct client 
*c)
        struct cmd      *cmd;
        int              readonly;
 
-       ctx = cmd_get_ctx();
-       ctx->curclient = c;
+       ctx = cmd_get_ctx(NULL, c);
        ctx->error = key_bindings_error;
        ctx->print = key_bindings_print;
        ctx->info = key_bindings_info;
diff --git a/server-client.c b/server-client.c
index 47a84bc..56dd379 100644
--- a/server-client.c
+++ b/server-client.c
@@ -869,9 +869,8 @@ server_client_msg_command(struct client *c, struct 
msg_command_data *data)
        int              argc;
        char           **argv, *cause;
 
-       ctx = cmd_get_ctx();
+       ctx = cmd_get_ctx(c, NULL);
        ctx->msgdata = data;
-       ctx->cmdclient = c;
        ctx->error = server_client_msg_error;
        ctx->print = server_client_msg_print;
        ctx->info = server_client_msg_info;
diff --git a/tmux.h b/tmux.h
index f5691e9..8772175 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1714,7 +1714,7 @@ long long  args_strtonum(
                    struct args *, u_char, long long, long long, char **);
 
 /* cmd.c */
-struct cmd_ctx *cmd_get_ctx(void);
+struct cmd_ctx *cmd_get_ctx(struct client *, struct client *);
 void            cmd_free_ctx(struct cmd_ctx *);
 void            cmd_ref_ctx(struct cmd_ctx *);
 int             cmd_pack_argv(int, char **, char *, size_t);
diff --git a/window-choose.c b/window-choose.c
index 366c65d..ae47184 100644
--- a/window-choose.c
+++ b/window-choose.c
@@ -220,8 +220,7 @@ window_choose_data_run(struct window_choose_data *cdata)
                return;
        }
 
-       ctx = cmd_get_ctx();
-       ctx->curclient = cdata->start_client;
+       ctx = cmd_get_ctx(NULL, cdata->start_client);
        ctx->error = key_bindings_error;
        ctx->print = key_bindings_print;
        ctx->info = key_bindings_info;


-----------------------------------------------------------------------

Summary of changes:
 cfg.c                |    2 +-
 cmd-command-prompt.c |    3 +--
 cmd-confirm-before.c |    3 +--
 cmd.c                |    5 ++++-
 control.c            |    3 +--
 key-bindings.c       |    3 +--
 server-client.c      |    3 +--
 tmux.h               |    2 +-
 window-choose.c      |    3 +--
 9 files changed, 12 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
tmux-cvs mailing list
tmux-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to