0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 8.2.4400: MS-Windows: cannot use the mouse in the console with VIMDLL

Problem:    MS-Windows: cannot use the mouse in the console with VIMDLL.
Solution:   use add_char2buf() instead of fix_input_buffer(). (closes #9784,
            closes #9769)
This commit is contained in:
zeertzjq
2022-02-16 17:51:47 +00:00
committed by Bram Moolenaar
parent f9435e49ef
commit 646bb7247a
2 changed files with 9 additions and 13 deletions

View File

@@ -1138,18 +1138,9 @@ ins_char_typebuf(int c, int modifier)
}
else
{
char_u *p = buf + len;
int char_len = (*mb_char2bytes)(c, p);
#ifdef FEAT_GUI
int save_gui_in_use = gui.in_use;
gui.in_use = FALSE;
#endif
// if the character contains CSI or K_SPECIAL bytes they need escaping
len += fix_input_buffer(p, char_len);
#ifdef FEAT_GUI
gui.in_use = save_gui_in_use;
#endif
char_u *end = add_char2buf(c, buf + len);
*end = NUL;
len = end - buf;
}
(void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
return len;
@@ -3671,7 +3662,9 @@ fix_input_buffer(char_u *buf, int len)
p += 2;
i -= 2;
}
// When the GUI is not used CSI needs to be escaped.
# ifndef MSWIN
// When not on MS-Windows and the GUI is not used CSI needs to be
// escaped.
else if (!gui.in_use && p[0] == CSI)
{
mch_memmove(p + 3, p + 1, (size_t)i);
@@ -3680,6 +3673,7 @@ fix_input_buffer(char_u *buf, int len)
*p = (int)KE_CSI;
len += 2;
}
# endif
else
#endif
if (p[0] == NUL || (p[0] == K_SPECIAL

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4400,
/**/
4399,
/**/