Send window-bound timers to the correct message queue Modified: trunk/reactos/subsys/win32k/ntuser/timer.c _____
Modified: trunk/reactos/subsys/win32k/ntuser/timer.c --- trunk/reactos/subsys/win32k/ntuser/timer.c 2005-10-12 22:04:07 UTC (rev 18417) +++ trunk/reactos/subsys/win32k/ntuser/timer.c 2005-10-12 22:15:22 UTC (rev 18418) @@ -60,6 +60,7 @@
{ PWINDOW_OBJECT Window; UINT_PTR Ret = 0; + PUSER_MESSAGE_QUEUE MessageQueue;
DPRINT("IntSetTimer wnd %x id %p elapse %u timerproc %p systemtimer %s\n", Wnd, IDEvent, Elapse, TimerFunc, SystemTimer ? "TRUE" : "FALSE"); @@ -82,6 +83,7 @@ HintIndex = ++IDEvent; IntUnlockWindowlessTimerBitmap(); Ret = IDEvent; + MessageQueue = PsGetWin32Thread()->MessageQueue; } else { @@ -99,6 +101,7 @@ }
Ret = IDEvent; + MessageQueue = Window->MessageQueue; }
#if 1 @@ -128,7 +131,7 @@ Elapse = 10; }
- if (! MsqSetTimer(PsGetWin32Thread()->MessageQueue, Wnd, + if (! MsqSetTimer(MessageQueue, Wnd, IDEvent, Elapse, TimerFunc, SystemTimer ? WM_SYSTIMER : WM_TIMER)) {