- Fix timer resolution so it will run every 10 ms +/-1ms. This is the default setting when the user provides less than 10 ms for the period to wait for the timer event. Pass wine test_timers_no_wnd.

svn path=/trunk/; revision=54170
This commit is contained in:
James Tabor 2011-10-17 01:33:55 +00:00
parent fa391315db
commit 97eddfb464

View file

@ -187,7 +187,7 @@ IntSetTimer( PWND Window,
PTIMER pTmr; PTIMER pTmr;
UINT Ret = IDEvent; UINT Ret = IDEvent;
LARGE_INTEGER DueTime; LARGE_INTEGER DueTime;
DueTime.QuadPart = (LONGLONG)(-10000); // 1024hz .9765625 ms set to 1.1 ms DueTime.QuadPart = (LONGLONG)(-97656); // 1024hz .9765625 ms set to 10.0 ms
#if 0 #if 0
/* Windows NT/2k/XP behaviour */ /* Windows NT/2k/XP behaviour */
@ -209,7 +209,7 @@ IntSetTimer( PWND Window,
if (Elapse < 10) if (Elapse < 10)
{ {
TRACE("Adjusting uElapse\n"); TRACE("Adjusting uElapse\n");
Elapse = 10; Elapse = 10; // 1024hz .9765625 ms, set to 10.0 ms (+/-)1 ms
} }
/* Passing an IDEvent of 0 and the SetTimer returns 1. /* Passing an IDEvent of 0 and the SetTimer returns 1.
@ -448,7 +448,7 @@ ProcessTimers(VOID)
KeQueryTickCount(&TickCount); KeQueryTickCount(&TickCount);
Time = MsqCalculateMessageTime(&TickCount); Time = MsqCalculateMessageTime(&TickCount);
DueTime.QuadPart = (LONGLONG)(-10000); // 1024hz .9765625 ms set to 1.1 ms DueTime.QuadPart = (LONGLONG)(-97656); // 1024hz .9765625 ms set to 10.0 ms
while(pLE != &TimersListHead) while(pLE != &TimersListHead)
{ {