aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornicm <nicm>2019-05-09 14:09:32 +0000
committernicm <nicm>2019-05-09 14:09:32 +0000
commitcb10bfb8effff694460af6927c30d8f805f8b9c0 (patch)
tree99522ffa4aa436df9bc9b9d5f0a3d165622ac1dc
parent21d97504505f2310c5d065e06d3c550d7b5d9f89 (diff)
downloadrtmux-cb10bfb8effff694460af6927c30d8f805f8b9c0.tar.gz
rtmux-cb10bfb8effff694460af6927c30d8f805f8b9c0.tar.bz2
rtmux-cb10bfb8effff694460af6927c30d8f805f8b9c0.zip
Save mouse buttons as well as position.
-rw-r--r--tmux.h1
-rw-r--r--tty-keys.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/tmux.h b/tmux.h
index 955643d8..c98d4c51 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1168,6 +1168,7 @@ struct tty {
u_int mouse_last_x;
u_int mouse_last_y;
+ u_int mouse_last_b;
int mouse_drag_flag;
void (*mouse_drag_update)(struct client *,
struct mouse_event *);
diff --git a/tty-keys.c b/tty-keys.c
index 3ab7f184..f70b2c8d 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -893,7 +893,7 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size,
m->x = x;
m->ly = tty->mouse_last_y;
m->y = y;
- m->lb = m->b;
+ m->lb = tty->mouse_last_b;
m->b = b;
m->sgr_type = sgr_type;
m->sgr_b = sgr_b;
@@ -901,6 +901,7 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size,
/* Update last mouse state. */
tty->mouse_last_x = x;
tty->mouse_last_y = y;
+ tty->mouse_last_b = b;
return (0);
}