[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:
Katayama Hirofumi MZ 2019-04-12 07:56:04 +09:00 committed by GitHub
parent 983cd57c1e
commit 94a42d43b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 25 additions and 66 deletions

View file

@ -551,13 +551,11 @@ VOID FASTCALL
IntCoalesceMouseMove(PTHREADINFO pti)
{
MSG Msg;
LARGE_INTEGER LargeTickCount;
// Force time stamp to update, keeping message time in sync.
if (gdwMouseMoveTimeStamp == 0)
{
KeQueryTickCount(&LargeTickCount);
gdwMouseMoveTimeStamp = MsqCalculateMessageTime(&LargeTickCount);
gdwMouseMoveTimeStamp = EngGetTickCount32();
}
// Build mouse move message.
@ -581,7 +579,6 @@ IntCoalesceMouseMove(PTHREADINFO pti)
VOID FASTCALL
co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
{
LARGE_INTEGER LargeTickCount;
MSLLHOOKSTRUCT MouseHookData;
// PDESKTOP pDesk;
PWND pwnd, pwndDesktop;
@ -590,8 +587,7 @@ co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook
PUSER_MESSAGE_QUEUE MessageQueue;
PSYSTEM_CURSORINFO CurInfo;
KeQueryTickCount(&LargeTickCount);
Msg->time = MsqCalculateMessageTime(&LargeTickCount);
Msg->time = EngGetTickCount32();
MouseHookData.pt.x = LOWORD(Msg->lParam);
MouseHookData.pt.y = HIWORD(Msg->lParam);
@ -2197,11 +2193,7 @@ co_MsqWaitForNewMessages(PTHREADINFO pti, PWND WndFilter,
BOOL FASTCALL
MsqIsHung(PTHREADINFO pti)
{
LARGE_INTEGER LargeTickCount;
KeQueryTickCount(&LargeTickCount);
if ((LargeTickCount.u.LowPart - pti->timeLast) > MSQ_HUNG &&
if (EngGetTickCount32() - pti->timeLast > MSQ_HUNG &&
!(pti->pcti->fsWakeMask & QS_INPUT) &&
!PsGetThreadFreezeCount(pti->pEThread) &&
!(pti->ppi->W32PF_flags & W32PF_APPSTARTING))