summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/server-client.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2016-11-24 14:38:55 +0000
committernicm <nicm@openbsd.org>2016-11-24 14:38:55 +0000
commit3ec4d953c27e2fe2c47fdbbd145cbdf2f7e3fad6 (patch)
treee2e2a152423d3fe839829bfde62661e44ca7b17d /usr.bin/tmux/server-client.c
parentRemove the solar files; they were removed from upstream in 2013. (diff)
downloadwireguard-openbsd-3ec4d953c27e2fe2c47fdbbd145cbdf2f7e3fad6.tar.xz
wireguard-openbsd-3ec4d953c27e2fe2c47fdbbd145cbdf2f7e3fad6.zip
If in the middle of a drag, don't use an invalid key, just use
KEYC_MOUSE as a placeholder. Reported by Artem Fokin.
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r--usr.bin/tmux/server-client.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c
index e57f0b1a78b..cc4fd2dba20 100644
--- a/usr.bin/tmux/server-client.c
+++ b/usr.bin/tmux/server-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-client.c,v 1.202 2016/11/24 13:46:50 nicm Exp $ */
+/* $OpenBSD: server-client.c,v 1.203 2016/11/24 14:38:55 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -474,9 +474,10 @@ have_event:
case NOTYPE:
break;
case DRAG:
- if (c->tty.mouse_drag_update != NULL)
+ if (c->tty.mouse_drag_update != NULL) {
c->tty.mouse_drag_update(c, m);
- else {
+ key = KEYC_MOUSE;
+ } else {
switch (MOUSE_BUTTONS(b)) {
case 0:
if (where == PANE)
@@ -738,6 +739,13 @@ server_client_handle_key(struct client *c, key_code key)
m->valid = 1;
m->key = key;
+
+ /*
+ * A mouse event that continues to be valid but that we do not
+ * want to pass through.
+ */
+ if (key == KEYC_MOUSE)
+ return;
} else
m->valid = 0;