patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work

Problem:    MS-Windows GUI: multibyte chars with a 0x80 byte do not work when
            compiled with VIMDLL.
Solution:   Adjust the condition for fixing the input buffer. (Ken Takata,
            closes #4330)
This commit is contained in:
Bram Moolenaar
2019-05-04 20:00:00 +02:00
parent 510671a055
commit ed5ab2a959
2 changed files with 9 additions and 6 deletions

View File

@ -3095,7 +3095,7 @@ inchar(
/*
* Fix typed characters for use by vgetc() and check_termcode().
* buf[] must have room to triple the number of bytes!
* "buf[]" must have room to triple the number of bytes!
* Returns the new length.
*/
int
@ -3135,14 +3135,15 @@ fix_input_buffer(char_u *buf, int len)
else
#endif
if (p[0] == NUL || (p[0] == K_SPECIAL
/* timeout may generate K_CURSORHOLD */
// timeout may generate K_CURSORHOLD
&& (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
#if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
// Win32 console passes modifiers
&& (
# ifdef VIMDLL
&& !gui.in_use
gui.in_use ||
# endif
/* Win32 console passes modifiers */
&& (i < 2 || p[1] != KS_MODIFIER)
(i < 2 || p[1] != KS_MODIFIER))
#endif
))
{
@ -3154,7 +3155,7 @@ fix_input_buffer(char_u *buf, int len)
len += 2;
}
}
*p = NUL; /* add trailing NUL */
*p = NUL; // add trailing NUL
return len;
}

View File

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