From e059680feab2cf5cee82b5870219575525fb78a5 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Mon, 11 Apr 2011 03:24:14 +0000 Subject: [PATCH] [Win32k] - PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103. svn path=/trunk/; revision=51315 --- .../subsystems/win32/win32k/ntuser/timer.c | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/timer.c b/reactos/subsystems/win32/win32k/ntuser/timer.c index 05a7cb649a6..b7c4a32277b 100644 --- a/reactos/subsystems/win32/win32k/ntuser/timer.c +++ b/reactos/subsystems/win32/win32k/ntuser/timer.c @@ -107,10 +107,11 @@ FindTimer(PWND Window, UINT_PTR nID, UINT flags) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr, RetTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -134,10 +135,11 @@ PTIMER FASTCALL FindSystemTimer(PMSG pMsg) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -158,11 +160,12 @@ FASTCALL ValidateTimerCallback(PTHREADINFO pti, LPARAM lParam) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; BOOL Ret = FALSE; PTIMER pTmr; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -389,7 +392,7 @@ BOOL FASTCALL PostTimerMessages(PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PUSER_MESSAGE_QUEUE ThreadQueue; MSG Msg; PTHREADINFO pti; @@ -400,7 +403,7 @@ PostTimerMessages(PWND Window) ThreadQueue = pti->MessageQueue; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -441,12 +444,12 @@ ProcessTimers(VOID) { LARGE_INTEGER TickCount, DueTime; LONG Time; - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; LONG TimerCount = 0; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; KeQueryTickCount(&TickCount); Time = MsqCalculateMessageTime(&TickCount); @@ -515,7 +518,7 @@ ProcessTimers(VOID) BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; BOOL TimersRemoved = FALSE; @@ -523,7 +526,7 @@ DestroyTimersForWindow(PTHREADINFO pti, PWND Window) return FALSE; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -570,14 +573,14 @@ IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer) DPRINT("IntKillTimer Window %x id %p systemtimer %s\n", Window, IDEvent, SystemTimer ? "TRUE" : "FALSE"); + TimerEnterExclusive(); pTmr = FindTimer(Window, IDEvent, SystemTimer ? TMRF_SYSTEM : 0); if (pTmr) { - TimerEnterExclusive(); RemoveTimer(pTmr); - TimerLeave(); } + TimerLeave(); return pTmr ? TRUE : FALSE; }