mirror of
https://github.com/vim/vim.git
synced 2025-10-09 06:14:17 -04:00
patch 7.4.1584
Problem: Timers don't work for Win32 console. Solution: Add check_due_timer() in WaitForChar().
This commit is contained in:
@@ -214,7 +214,6 @@ static void standend(void);
|
|||||||
static void visual_bell(void);
|
static void visual_bell(void);
|
||||||
static void cursor_visible(BOOL fVisible);
|
static void cursor_visible(BOOL fVisible);
|
||||||
static DWORD write_chars(char_u *pchBuf, DWORD cbToWrite);
|
static DWORD write_chars(char_u *pchBuf, DWORD cbToWrite);
|
||||||
static WCHAR tgetch(int *pmodifiers, WCHAR *pch2);
|
|
||||||
static void create_conin(void);
|
static void create_conin(void);
|
||||||
static int s_cursor_visible = TRUE;
|
static int s_cursor_visible = TRUE;
|
||||||
static int did_create_conin = FALSE;
|
static int did_create_conin = FALSE;
|
||||||
@@ -1502,6 +1501,21 @@ WaitForChar(long msec)
|
|||||||
&& (msec < 0 || (long)dwWaitTime > p_mzq))
|
&& (msec < 0 || (long)dwWaitTime > p_mzq))
|
||||||
dwWaitTime = p_mzq; /* don't wait longer than 'mzquantum' */
|
dwWaitTime = p_mzq; /* don't wait longer than 'mzquantum' */
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_TIMERS
|
||||||
|
{
|
||||||
|
long due_time;
|
||||||
|
|
||||||
|
/* When waiting very briefly don't trigger timers. */
|
||||||
|
if (dwWaitTime > 10)
|
||||||
|
{
|
||||||
|
/* Trigger timers and then get the time in msec until the
|
||||||
|
* next one is due. Wait up to that time. */
|
||||||
|
due_time = check_due_timer();
|
||||||
|
if (due_time > 0 && dwWaitTime > (DWORD)due_time)
|
||||||
|
dwWaitTime = due_time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifdef FEAT_CLIENTSERVER
|
#ifdef FEAT_CLIENTSERVER
|
||||||
/* Wait for either an event on the console input or a message in
|
/* Wait for either an event on the console input or a message in
|
||||||
* the client-server window. */
|
* the client-server window. */
|
||||||
@@ -1604,7 +1618,7 @@ create_conin(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get a keystroke or a mouse event
|
* Get a keystroke or a mouse event, use a blocking wait.
|
||||||
*/
|
*/
|
||||||
static WCHAR
|
static WCHAR
|
||||||
tgetch(int *pmodifiers, WCHAR *pch2)
|
tgetch(int *pmodifiers, WCHAR *pch2)
|
||||||
@@ -6074,7 +6088,7 @@ mch_write(
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Delay for half a second.
|
* Delay for "msec" milliseconds.
|
||||||
*/
|
*/
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
void
|
void
|
||||||
|
@@ -748,6 +748,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1584,
|
||||||
/**/
|
/**/
|
||||||
1583,
|
1583,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user