mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:42:57 +00:00
[Win32k]
- PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103. svn path=/trunk/; revision=51315
This commit is contained in:
parent
52ce60c8d8
commit
e059680fea
1 changed files with 14 additions and 11 deletions
|
@ -107,10 +107,11 @@ FindTimer(PWND Window,
|
||||||
UINT_PTR nID,
|
UINT_PTR nID,
|
||||||
UINT flags)
|
UINT flags)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
PTIMER pTmr, RetTmr = NULL;
|
PTIMER pTmr, RetTmr = NULL;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
while (pLE != &TimersListHead)
|
while (pLE != &TimersListHead)
|
||||||
{
|
{
|
||||||
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
||||||
|
@ -134,10 +135,11 @@ PTIMER
|
||||||
FASTCALL
|
FASTCALL
|
||||||
FindSystemTimer(PMSG pMsg)
|
FindSystemTimer(PMSG pMsg)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
PTIMER pTmr = NULL;
|
PTIMER pTmr = NULL;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
while (pLE != &TimersListHead)
|
while (pLE != &TimersListHead)
|
||||||
{
|
{
|
||||||
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
||||||
|
@ -158,11 +160,12 @@ FASTCALL
|
||||||
ValidateTimerCallback(PTHREADINFO pti,
|
ValidateTimerCallback(PTHREADINFO pti,
|
||||||
LPARAM lParam)
|
LPARAM lParam)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
BOOL Ret = FALSE;
|
BOOL Ret = FALSE;
|
||||||
PTIMER pTmr;
|
PTIMER pTmr;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
while (pLE != &TimersListHead)
|
while (pLE != &TimersListHead)
|
||||||
{
|
{
|
||||||
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
||||||
|
@ -389,7 +392,7 @@ BOOL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
PostTimerMessages(PWND Window)
|
PostTimerMessages(PWND Window)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
PUSER_MESSAGE_QUEUE ThreadQueue;
|
PUSER_MESSAGE_QUEUE ThreadQueue;
|
||||||
MSG Msg;
|
MSG Msg;
|
||||||
PTHREADINFO pti;
|
PTHREADINFO pti;
|
||||||
|
@ -400,7 +403,7 @@ PostTimerMessages(PWND Window)
|
||||||
ThreadQueue = pti->MessageQueue;
|
ThreadQueue = pti->MessageQueue;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
while(pLE != &TimersListHead)
|
while(pLE != &TimersListHead)
|
||||||
{
|
{
|
||||||
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
||||||
|
@ -441,12 +444,12 @@ ProcessTimers(VOID)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER TickCount, DueTime;
|
LARGE_INTEGER TickCount, DueTime;
|
||||||
LONG Time;
|
LONG Time;
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
PTIMER pTmr;
|
PTIMER pTmr;
|
||||||
LONG TimerCount = 0;
|
LONG TimerCount = 0;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
KeQueryTickCount(&TickCount);
|
KeQueryTickCount(&TickCount);
|
||||||
Time = MsqCalculateMessageTime(&TickCount);
|
Time = MsqCalculateMessageTime(&TickCount);
|
||||||
|
|
||||||
|
@ -515,7 +518,7 @@ ProcessTimers(VOID)
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
DestroyTimersForWindow(PTHREADINFO pti, PWND Window)
|
DestroyTimersForWindow(PTHREADINFO pti, PWND Window)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY pLE = TimersListHead.Flink;
|
PLIST_ENTRY pLE;
|
||||||
PTIMER pTmr;
|
PTIMER pTmr;
|
||||||
BOOL TimersRemoved = FALSE;
|
BOOL TimersRemoved = FALSE;
|
||||||
|
|
||||||
|
@ -523,7 +526,7 @@ DestroyTimersForWindow(PTHREADINFO pti, PWND Window)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
TimerEnterExclusive();
|
TimerEnterExclusive();
|
||||||
|
pLE = TimersListHead.Flink;
|
||||||
while(pLE != &TimersListHead)
|
while(pLE != &TimersListHead)
|
||||||
{
|
{
|
||||||
pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList);
|
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",
|
DPRINT("IntKillTimer Window %x id %p systemtimer %s\n",
|
||||||
Window, IDEvent, SystemTimer ? "TRUE" : "FALSE");
|
Window, IDEvent, SystemTimer ? "TRUE" : "FALSE");
|
||||||
|
|
||||||
|
TimerEnterExclusive();
|
||||||
pTmr = FindTimer(Window, IDEvent, SystemTimer ? TMRF_SYSTEM : 0);
|
pTmr = FindTimer(Window, IDEvent, SystemTimer ? TMRF_SYSTEM : 0);
|
||||||
|
|
||||||
if (pTmr)
|
if (pTmr)
|
||||||
{
|
{
|
||||||
TimerEnterExclusive();
|
|
||||||
RemoveTimer(pTmr);
|
RemoveTimer(pTmr);
|
||||||
TimerLeave();
|
|
||||||
}
|
}
|
||||||
|
TimerLeave();
|
||||||
|
|
||||||
return pTmr ? TRUE : FALSE;
|
return pTmr ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue