Pass in the session, rather than the client, to window modes' key()

function. We were only ever using the client to find the session anyway.

This allows send-key to work properly for manipulating copy mode from
outside tmux.

From Micah Cowan.
This commit is contained in:
Nicholas Marriott
2010-05-23 19:42:19 +00:00
parent 0ed727a012
commit 4f5c5b37b8
8 changed files with 33 additions and 34 deletions

10
tmux.h
View File

@ -760,16 +760,16 @@ struct input_ctx {
* Window mode. Windows can be in several modes and this is used to call the
* right function to handle input and output.
*/
struct client;
struct session;
struct window;
struct mouse_event;
struct window_mode {
struct screen *(*init)(struct window_pane *);
void (*free)(struct window_pane *);
void (*resize)(struct window_pane *, u_int, u_int);
void (*key)(struct window_pane *, struct client *, int);
void (*key)(struct window_pane *, struct session *, int);
void (*mouse)(struct window_pane *,
struct client *, struct mouse_event *);
struct session *, struct mouse_event *);
void (*timer)(struct window_pane *);
};
@ -1828,9 +1828,9 @@ void window_pane_alternate_off(
int window_pane_set_mode(
struct window_pane *, const struct window_mode *);
void window_pane_reset_mode(struct window_pane *);
void window_pane_key(struct window_pane *, struct client *, int);
void window_pane_key(struct window_pane *, struct session *, int);
void window_pane_mouse(struct window_pane *,
struct client *, struct mouse_event *);
struct session *, struct mouse_event *);
int window_pane_visible(struct window_pane *);
char *window_pane_search(
struct window_pane *, const char *, u_int *);