From e17f92eb29de90e793ec14857fc5609f53cc863d Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Fri, 13 Feb 2015 12:05:51 -0300 Subject: input: Fix handle_mouse_event function Ignore all keys that aren't prefixed with KS_EXTRA. --- src/nvim/os/input.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index 4d50f1dc92..d5e29900e9 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -215,15 +215,19 @@ static unsigned int handle_mouse_event(char **ptr, uint8_t *buf, unsigned int bufsize) { int mouse_code = 0; + int type = 0; if (bufsize == 3) { mouse_code = buf[2]; + type = buf[1]; } else if (bufsize == 6) { // prefixed with K_SPECIAL KS_MODIFIER mod mouse_code = buf[5]; + type = buf[4]; } - if (!((mouse_code >= KE_LEFTMOUSE && mouse_code <= KE_RIGHTRELEASE) + if (type != KS_EXTRA + || !((mouse_code >= KE_LEFTMOUSE && mouse_code <= KE_RIGHTRELEASE) || (mouse_code >= KE_MOUSEDOWN && mouse_code <= KE_MOUSERIGHT))) { return bufsize; } -- cgit