mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:23:05 +00:00
[WIN32SS][NTUSER] Fix message time (#1259)
Fix CORE-15565 and make #1245 GetMessageTime testcase successful. CORE-15565 - Erase MsqCalculateMessageTime function. - Use (DWORD)EngGetTickCount() instead. - Ghosting is temporarily disabled.
This commit is contained in:
parent
983cd57c1e
commit
94a42d43b5
11 changed files with 25 additions and 66 deletions
|
@ -40,6 +40,8 @@ APIENTRY
|
||||||
EngGetTickCount(
|
EngGetTickCount(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
|
#define EngGetTickCount32() (ULONG)EngGetTickCount()
|
||||||
|
|
||||||
HANDLE
|
HANDLE
|
||||||
APIENTRY
|
APIENTRY
|
||||||
EngSecureMemForRead(
|
EngSecureMemForRead(
|
||||||
|
|
|
@ -165,7 +165,7 @@ co_EVENT_CallEvents( DWORD event,
|
||||||
pEP->idObject,
|
pEP->idObject,
|
||||||
pEP->idChild,
|
pEP->idChild,
|
||||||
pEP->idThread,
|
pEP->idThread,
|
||||||
(DWORD)EngGetTickCount(),
|
EngGetTickCount32(),
|
||||||
pEH->Proc,
|
pEH->Proc,
|
||||||
pEH->ihmod,
|
pEH->ihmod,
|
||||||
pEH->offPfn);
|
pEH->offPfn);
|
||||||
|
@ -229,7 +229,7 @@ IntNotifyWinEvent(
|
||||||
idObject,
|
idObject,
|
||||||
idChild,
|
idChild,
|
||||||
PtrToUint(NtCurrentTeb()->ClientId.UniqueThread),
|
PtrToUint(NtCurrentTeb()->ClientId.UniqueThread),
|
||||||
(DWORD)EngGetTickCount(),
|
EngGetTickCount32(),
|
||||||
pEH->Proc,
|
pEH->Proc,
|
||||||
pEH->ihmod,
|
pEH->ihmod,
|
||||||
pEH->offPfn);
|
pEH->offPfn);
|
||||||
|
|
|
@ -33,9 +33,7 @@ IntLastInputTick(BOOL bUpdate)
|
||||||
{
|
{
|
||||||
if (bUpdate)
|
if (bUpdate)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER TickCount;
|
LastInputTick = EngGetTickCount32();
|
||||||
KeQueryTickCount(&TickCount);
|
|
||||||
LastInputTick = MsqCalculateMessageTime(&TickCount);
|
|
||||||
if (gpsi) gpsi->dwLastRITEventTickCount = LastInputTick;
|
if (gpsi) gpsi->dwLastRITEventTickCount = LastInputTick;
|
||||||
}
|
}
|
||||||
return LastInputTick;
|
return LastInputTick;
|
||||||
|
@ -49,13 +47,11 @@ IntLastInputTick(BOOL bUpdate)
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
DoTheScreenSaver(VOID)
|
DoTheScreenSaver(VOID)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER TickCount;
|
|
||||||
DWORD Test, TO;
|
DWORD Test, TO;
|
||||||
|
|
||||||
if (gspv.iScrSaverTimeout > 0) // Zero means Off.
|
if (gspv.iScrSaverTimeout > 0) // Zero means Off.
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&TickCount);
|
Test = EngGetTickCount32();
|
||||||
Test = MsqCalculateMessageTime(&TickCount);
|
|
||||||
Test = Test - LastInputTick;
|
Test = Test - LastInputTick;
|
||||||
TO = 1000 * gspv.iScrSaverTimeout;
|
TO = 1000 * gspv.iScrSaverTimeout;
|
||||||
if (Test > TO)
|
if (Test > TO)
|
||||||
|
|
|
@ -976,7 +976,6 @@ UserSendKeyboardInput(KEYBDINPUT *pKbdInput, BOOL bInjected)
|
||||||
PKL pKl = NULL;
|
PKL pKl = NULL;
|
||||||
PKBDTABLES pKbdTbl;
|
PKBDTABLES pKbdTbl;
|
||||||
PUSER_MESSAGE_QUEUE pFocusQueue;
|
PUSER_MESSAGE_QUEUE pFocusQueue;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
DWORD dwTime;
|
DWORD dwTime;
|
||||||
BOOL bExt = (pKbdInput->dwFlags & KEYEVENTF_EXTENDEDKEY) ? TRUE : FALSE;
|
BOOL bExt = (pKbdInput->dwFlags & KEYEVENTF_EXTENDEDKEY) ? TRUE : FALSE;
|
||||||
|
|
||||||
|
@ -1030,8 +1029,7 @@ UserSendKeyboardInput(KEYBDINPUT *pKbdInput, BOOL bInjected)
|
||||||
dwTime = pKbdInput->time;
|
dwTime = pKbdInput->time;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&LargeTickCount);
|
dwTime = EngGetTickCount32();
|
||||||
dwTime = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wVk == VK_RMENU && (pKbdTbl->fLocaleFlags & KLLF_ALTGR))
|
if (wVk == VK_RMENU && (pKbdTbl->fLocaleFlags & KLLF_ALTGR))
|
||||||
|
@ -1143,7 +1141,6 @@ IntTranslateKbdMessage(LPMSG lpMsg,
|
||||||
WCHAR wch[3] = { 0 };
|
WCHAR wch[3] = { 0 };
|
||||||
MSG NewMsg = { 0 };
|
MSG NewMsg = { 0 };
|
||||||
PKBDTABLES pKbdTbl;
|
PKBDTABLES pKbdTbl;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
BOOL bResult = FALSE;
|
BOOL bResult = FALSE;
|
||||||
|
|
||||||
switch(lpMsg->message)
|
switch(lpMsg->message)
|
||||||
|
@ -1176,8 +1173,7 @@ IntTranslateKbdMessage(LPMSG lpMsg,
|
||||||
/* Init pt, hwnd and time msg fields */
|
/* Init pt, hwnd and time msg fields */
|
||||||
NewMsg.pt = gpsi->ptCursor;
|
NewMsg.pt = gpsi->ptCursor;
|
||||||
NewMsg.hwnd = lpMsg->hwnd;
|
NewMsg.hwnd = lpMsg->hwnd;
|
||||||
KeQueryTickCount(&LargeTickCount);
|
NewMsg.time = EngGetTickCount32();
|
||||||
NewMsg.time = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
|
|
||||||
TRACE("Enter IntTranslateKbdMessage msg %s, vk %x\n",
|
TRACE("Enter IntTranslateKbdMessage msg %s, vk %x\n",
|
||||||
lpMsg->message == WM_SYSKEYDOWN ? "WM_SYSKEYDOWN" : "WM_KEYDOWN", lpMsg->wParam);
|
lpMsg->message == WM_SYSKEYDOWN ? "WM_SYSKEYDOWN" : "WM_KEYDOWN", lpMsg->wParam);
|
||||||
|
|
|
@ -443,7 +443,6 @@ InitThreadCallback(PETHREAD Thread)
|
||||||
int i;
|
int i;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
PTEB pTeb;
|
PTEB pTeb;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
PRTL_USER_PROCESS_PARAMETERS ProcessParams;
|
PRTL_USER_PROCESS_PARAMETERS ProcessParams;
|
||||||
|
|
||||||
Process = Thread->ThreadsProcess;
|
Process = Thread->ThreadsProcess;
|
||||||
|
@ -504,9 +503,7 @@ InitThreadCallback(PETHREAD Thread)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
KeQueryTickCount(&LargeTickCount);
|
ptiCurrent->timeLast = EngGetTickCount32();
|
||||||
ptiCurrent->timeLast = LargeTickCount.u.LowPart;
|
|
||||||
|
|
||||||
ptiCurrent->MessageQueue = MsqCreateMessageQueue(ptiCurrent);
|
ptiCurrent->MessageQueue = MsqCreateMessageQueue(ptiCurrent);
|
||||||
if (ptiCurrent->MessageQueue == NULL)
|
if (ptiCurrent->MessageQueue == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -681,7 +681,6 @@ static LRESULT handle_internal_events( PTHREADINFO pti, PWND pWnd, DWORD dwQEven
|
||||||
LRESULT FASTCALL
|
LRESULT FASTCALL
|
||||||
IntDispatchMessage(PMSG pMsg)
|
IntDispatchMessage(PMSG pMsg)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER TickCount;
|
|
||||||
LONG Time;
|
LONG Time;
|
||||||
LRESULT retval = 0;
|
LRESULT retval = 0;
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
|
@ -710,8 +709,7 @@ IntDispatchMessage(PMSG pMsg)
|
||||||
{
|
{
|
||||||
if (ValidateTimerCallback(pti,pMsg->lParam))
|
if (ValidateTimerCallback(pti,pMsg->lParam))
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&TickCount);
|
Time = EngGetTickCount32();
|
||||||
Time = MsqCalculateMessageTime(&TickCount);
|
|
||||||
retval = co_IntCallWindowProc((WNDPROC)pMsg->lParam,
|
retval = co_IntCallWindowProc((WNDPROC)pMsg->lParam,
|
||||||
TRUE,
|
TRUE,
|
||||||
pMsg->hwnd,
|
pMsg->hwnd,
|
||||||
|
@ -727,8 +725,7 @@ IntDispatchMessage(PMSG pMsg)
|
||||||
PTIMER pTimer = FindSystemTimer(pMsg);
|
PTIMER pTimer = FindSystemTimer(pMsg);
|
||||||
if (pTimer && pTimer->pfn)
|
if (pTimer && pTimer->pfn)
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&TickCount);
|
Time = EngGetTickCount32();
|
||||||
Time = MsqCalculateMessageTime(&TickCount);
|
|
||||||
pTimer->pfn(pMsg->hwnd, WM_SYSTIMER, (UINT)pMsg->wParam, Time);
|
pTimer->pfn(pMsg->hwnd, WM_SYSTIMER, (UINT)pMsg->wParam, Time);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -815,7 +812,6 @@ co_IntPeekMessage( PMSG Msg,
|
||||||
BOOL bGMSG )
|
BOOL bGMSG )
|
||||||
{
|
{
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
BOOL RemoveMessages;
|
BOOL RemoveMessages;
|
||||||
UINT ProcessMask;
|
UINT ProcessMask;
|
||||||
BOOL Hit = FALSE;
|
BOOL Hit = FALSE;
|
||||||
|
@ -833,9 +829,8 @@ co_IntPeekMessage( PMSG Msg,
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&LargeTickCount);
|
pti->timeLast = EngGetTickCount32();
|
||||||
pti->timeLast = LargeTickCount.u.LowPart;
|
pti->pcti->tickLastMsgChecked = pti->timeLast;
|
||||||
pti->pcti->tickLastMsgChecked = LargeTickCount.u.LowPart;
|
|
||||||
|
|
||||||
// Post mouse moves while looping through peek messages.
|
// Post mouse moves while looping through peek messages.
|
||||||
if (pti->MessageQueue->QF_flags & QF_MOUSEMOVED)
|
if (pti->MessageQueue->QF_flags & QF_MOUSEMOVED)
|
||||||
|
@ -1152,7 +1147,6 @@ UserPostThreadMessage( PTHREADINFO pti,
|
||||||
LPARAM lParam )
|
LPARAM lParam )
|
||||||
{
|
{
|
||||||
MSG Message;
|
MSG Message;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
|
|
||||||
if (is_pointer_message(Msg))
|
if (is_pointer_message(Msg))
|
||||||
{
|
{
|
||||||
|
@ -1164,9 +1158,7 @@ UserPostThreadMessage( PTHREADINFO pti,
|
||||||
Message.wParam = wParam;
|
Message.wParam = wParam;
|
||||||
Message.lParam = lParam;
|
Message.lParam = lParam;
|
||||||
Message.pt = gpsi->ptCursor;
|
Message.pt = gpsi->ptCursor;
|
||||||
|
Message.time = EngGetTickCount32();
|
||||||
KeQueryTickCount(&LargeTickCount);
|
|
||||||
Message.time = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
MsqPostMessage(pti, &Message, FALSE, QS_POSTMESSAGE, 0, 0);
|
MsqPostMessage(pti, &Message, FALSE, QS_POSTMESSAGE, 0, 0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1193,7 +1185,6 @@ UserPostMessage( HWND Wnd,
|
||||||
{
|
{
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
MSG Message;
|
MSG Message;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
LONG_PTR ExtraInfo = 0;
|
LONG_PTR ExtraInfo = 0;
|
||||||
|
|
||||||
Message.hwnd = Wnd;
|
Message.hwnd = Wnd;
|
||||||
|
@ -1201,8 +1192,7 @@ UserPostMessage( HWND Wnd,
|
||||||
Message.wParam = wParam;
|
Message.wParam = wParam;
|
||||||
Message.lParam = lParam;
|
Message.lParam = lParam;
|
||||||
Message.pt = gpsi->ptCursor;
|
Message.pt = gpsi->ptCursor;
|
||||||
KeQueryTickCount(&LargeTickCount);
|
Message.time = EngGetTickCount32();
|
||||||
Message.time = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
|
|
||||||
if (is_pointer_message(Message.message))
|
if (is_pointer_message(Message.message))
|
||||||
{
|
{
|
||||||
|
@ -1468,7 +1458,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
|
||||||
|
|
||||||
if (Status == STATUS_TIMEOUT)
|
if (Status == STATUS_TIMEOUT)
|
||||||
{
|
{
|
||||||
if (MsqIsHung(ptiSendTo))
|
if (0 && MsqIsHung(ptiSendTo))
|
||||||
{
|
{
|
||||||
TRACE("Let's go Ghost!\n");
|
TRACE("Let's go Ghost!\n");
|
||||||
IntMakeHungWindowGhosted(hWnd);
|
IntMakeHungWindowGhosted(hWnd);
|
||||||
|
|
|
@ -295,11 +295,9 @@ NtUserGetThreadState(
|
||||||
case THREADSTATE_UPTIMELASTREAD:
|
case THREADSTATE_UPTIMELASTREAD:
|
||||||
{
|
{
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
pti = PsGetCurrentThreadWin32Thread();
|
pti = PsGetCurrentThreadWin32Thread();
|
||||||
KeQueryTickCount(&LargeTickCount);
|
pti->timeLast = EngGetTickCount32();
|
||||||
pti->timeLast = LargeTickCount.u.LowPart;
|
pti->pcti->tickLastMsgChecked = pti->timeLast;
|
||||||
pti->pcti->tickLastMsgChecked = LargeTickCount.u.LowPart;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -210,9 +210,7 @@ UserSendMouseInput(MOUSEINPUT *pmi, BOOL bInjected)
|
||||||
Msg.time = pmi->time;
|
Msg.time = pmi->time;
|
||||||
if (!Msg.time)
|
if (!Msg.time)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER LargeTickCount;
|
Msg.time = EngGetTickCount32();
|
||||||
KeQueryTickCount(&LargeTickCount);
|
|
||||||
Msg.time = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do GetMouseMovePointsEx FIFO. */
|
/* Do GetMouseMovePointsEx FIFO. */
|
||||||
|
|
|
@ -551,13 +551,11 @@ VOID FASTCALL
|
||||||
IntCoalesceMouseMove(PTHREADINFO pti)
|
IntCoalesceMouseMove(PTHREADINFO pti)
|
||||||
{
|
{
|
||||||
MSG Msg;
|
MSG Msg;
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
|
|
||||||
// Force time stamp to update, keeping message time in sync.
|
// Force time stamp to update, keeping message time in sync.
|
||||||
if (gdwMouseMoveTimeStamp == 0)
|
if (gdwMouseMoveTimeStamp == 0)
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&LargeTickCount);
|
gdwMouseMoveTimeStamp = EngGetTickCount32();
|
||||||
gdwMouseMoveTimeStamp = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build mouse move message.
|
// Build mouse move message.
|
||||||
|
@ -581,7 +579,6 @@ IntCoalesceMouseMove(PTHREADINFO pti)
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
|
co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER LargeTickCount;
|
|
||||||
MSLLHOOKSTRUCT MouseHookData;
|
MSLLHOOKSTRUCT MouseHookData;
|
||||||
// PDESKTOP pDesk;
|
// PDESKTOP pDesk;
|
||||||
PWND pwnd, pwndDesktop;
|
PWND pwnd, pwndDesktop;
|
||||||
|
@ -590,8 +587,7 @@ co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook
|
||||||
PUSER_MESSAGE_QUEUE MessageQueue;
|
PUSER_MESSAGE_QUEUE MessageQueue;
|
||||||
PSYSTEM_CURSORINFO CurInfo;
|
PSYSTEM_CURSORINFO CurInfo;
|
||||||
|
|
||||||
KeQueryTickCount(&LargeTickCount);
|
Msg->time = EngGetTickCount32();
|
||||||
Msg->time = MsqCalculateMessageTime(&LargeTickCount);
|
|
||||||
|
|
||||||
MouseHookData.pt.x = LOWORD(Msg->lParam);
|
MouseHookData.pt.x = LOWORD(Msg->lParam);
|
||||||
MouseHookData.pt.y = HIWORD(Msg->lParam);
|
MouseHookData.pt.y = HIWORD(Msg->lParam);
|
||||||
|
@ -2197,11 +2193,7 @@ co_MsqWaitForNewMessages(PTHREADINFO pti, PWND WndFilter,
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
MsqIsHung(PTHREADINFO pti)
|
MsqIsHung(PTHREADINFO pti)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER LargeTickCount;
|
if (EngGetTickCount32() - pti->timeLast > MSQ_HUNG &&
|
||||||
|
|
||||||
KeQueryTickCount(&LargeTickCount);
|
|
||||||
|
|
||||||
if ((LargeTickCount.u.LowPart - pti->timeLast) > MSQ_HUNG &&
|
|
||||||
!(pti->pcti->fsWakeMask & QS_INPUT) &&
|
!(pti->pcti->fsWakeMask & QS_INPUT) &&
|
||||||
!PsGetThreadFreezeCount(pti->pEThread) &&
|
!PsGetThreadFreezeCount(pti->pEThread) &&
|
||||||
!(pti->ppi->W32PF_flags & W32PF_APPSTARTING))
|
!(pti->ppi->W32PF_flags & W32PF_APPSTARTING))
|
||||||
|
|
|
@ -249,12 +249,6 @@ VOID APIENTRY MsqRemoveWindowMessagesFromQueue(PWND pWindow);
|
||||||
HANDLE FASTCALL IntMsqSetWakeMask(DWORD WakeMask);
|
HANDLE FASTCALL IntMsqSetWakeMask(DWORD WakeMask);
|
||||||
BOOL FASTCALL IntMsqClearWakeMask(VOID);
|
BOOL FASTCALL IntMsqClearWakeMask(VOID);
|
||||||
|
|
||||||
static __inline LONG
|
|
||||||
MsqCalculateMessageTime(IN PLARGE_INTEGER TickCount)
|
|
||||||
{
|
|
||||||
return (LONG)(TickCount->QuadPart * (KeQueryTimeIncrement() / 10000));
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID FASTCALL IdlePing(VOID);
|
VOID FASTCALL IdlePing(VOID);
|
||||||
VOID FASTCALL IdlePong(VOID);
|
VOID FASTCALL IdlePong(VOID);
|
||||||
BOOL FASTCALL co_MsqReplyMessage(LRESULT);
|
BOOL FASTCALL co_MsqReplyMessage(LRESULT);
|
||||||
|
|
|
@ -399,7 +399,6 @@ PostTimerMessages(PWND Window)
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
BOOL Hit = FALSE;
|
BOOL Hit = FALSE;
|
||||||
PTIMER pTmr;
|
PTIMER pTmr;
|
||||||
LARGE_INTEGER TickCount;
|
|
||||||
|
|
||||||
pti = PsGetCurrentThreadWin32Thread();
|
pti = PsGetCurrentThreadWin32Thread();
|
||||||
|
|
||||||
|
@ -412,13 +411,11 @@ PostTimerMessages(PWND Window)
|
||||||
(pTmr->pti == pti) &&
|
(pTmr->pti == pti) &&
|
||||||
((pTmr->pWnd == Window) || (Window == NULL)) )
|
((pTmr->pWnd == Window) || (Window == NULL)) )
|
||||||
{
|
{
|
||||||
KeQueryTickCount(&TickCount);
|
|
||||||
|
|
||||||
Msg.hwnd = (pTmr->pWnd) ? pTmr->pWnd->head.h : 0;
|
Msg.hwnd = (pTmr->pWnd) ? pTmr->pWnd->head.h : 0;
|
||||||
Msg.message = (pTmr->flags & TMRF_SYSTEM) ? WM_SYSTIMER : WM_TIMER;
|
Msg.message = (pTmr->flags & TMRF_SYSTEM) ? WM_SYSTIMER : WM_TIMER;
|
||||||
Msg.wParam = (WPARAM) pTmr->nID;
|
Msg.wParam = (WPARAM) pTmr->nID;
|
||||||
Msg.lParam = (LPARAM) pTmr->pfn;
|
Msg.lParam = (LPARAM) pTmr->pfn;
|
||||||
Msg.time = MsqCalculateMessageTime(&TickCount);
|
Msg.time = EngGetTickCount32();
|
||||||
// Fix all wine win:test_GetMessagePos WM_TIMER tests. See CORE-10867.
|
// Fix all wine win:test_GetMessagePos WM_TIMER tests. See CORE-10867.
|
||||||
Msg.pt = gpsi->ptCursor;
|
Msg.pt = gpsi->ptCursor;
|
||||||
|
|
||||||
|
@ -448,7 +445,7 @@ VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
ProcessTimers(VOID)
|
ProcessTimers(VOID)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER TickCount, DueTime;
|
LARGE_INTEGER DueTime;
|
||||||
LONG Time;
|
LONG Time;
|
||||||
PLIST_ENTRY pLE;
|
PLIST_ENTRY pLE;
|
||||||
PTIMER pTmr;
|
PTIMER pTmr;
|
||||||
|
@ -456,8 +453,7 @@ ProcessTimers(VOID)
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
pLE = TimersListHead.Flink;
|
pLE = TimersListHead.Flink;
|
||||||
KeQueryTickCount(&TickCount);
|
Time = EngGetTickCount32();
|
||||||
Time = MsqCalculateMessageTime(&TickCount);
|
|
||||||
|
|
||||||
DueTime.QuadPart = (LONGLONG)(-97656); // 1024hz .9765625 ms set to 10.0 ms
|
DueTime.QuadPart = (LONGLONG)(-97656); // 1024hz .9765625 ms set to 10.0 ms
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue