summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-21 21:03:37 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-21 21:03:37 +0200
commitde7762a2c1498e2dc43586feb5f982d661799f85 (patch)
treed6b6fb5079450e55334c52e37a11ad754c720442 /src
parent9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c (diff)
patch 7.4.2238v7.4.2238
Problem: With SGR mouse reporting (suckless terminal) the mouse release and scroll up/down is confused. Solution: Don't see a release as a scroll up/down. (Ralph Eastwood)
Diffstat (limited to 'src')
-rw-r--r--src/term.c10
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/term.c b/src/term.c
index 774ef65527..4d505e33d4 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4939,7 +4939,7 @@ check_termcode(
button = getdigits(&p);
mouse_code = 0;
- switch( button )
+ switch (button)
{
case 4: mouse_code = MOUSE_LEFT; break;
case 1: mouse_code = MOUSE_RIGHT; break;
@@ -4947,7 +4947,7 @@ check_termcode(
default: return -1;
}
- switch( action )
+ switch (action)
{
case 31: /* Initial press */
if (*p++ != ';')
@@ -5096,9 +5096,11 @@ check_termcode(
else if (orig_num_clicks == 4)
modifiers |= MOD_MASK_4CLICK;
- /* Work out our pseudo mouse event */
+ /* Work out our pseudo mouse event. Note that MOUSE_RELEASE gets
+ * added, then it's not mouse up/down. */
key_name[0] = (int)KS_EXTRA;
- if (wheel_code != 0)
+ if (wheel_code != 0
+ && (wheel_code & MOUSE_RELEASE) != MOUSE_RELEASE)
{
if (wheel_code & MOUSE_CTRL)
modifiers |= MOD_MASK_CTRL;
diff --git a/src/version.c b/src/version.c
index fe60c32489..0d3d491967 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2238,
+/**/
2237,
/**/
2236,