diff --git a/reactos/win32ss/user/ntuser/main.c b/reactos/win32ss/user/ntuser/main.c index 084b4175a0a..6772e5eeadf 100644 --- a/reactos/win32ss/user/ntuser/main.c +++ b/reactos/win32ss/user/ntuser/main.c @@ -270,7 +270,7 @@ UserCreateThreadInfo(struct _ETHREAD *Thread) ptiCurrent->ptiSibling = ptiCurrent->ppi->ptiList; ptiCurrent->ppi->ptiList = ptiCurrent; ptiCurrent->ppi->cThreads++; - ptiCurrent->MessageQueue = MsqCreateMessageQueue(Thread); + ptiCurrent->MessageQueue = MsqCreateMessageQueue(ptiCurrent); if(ptiCurrent->MessageQueue == NULL) { ERR_CH(UserThread,"Failed to allocate message loop\n"); diff --git a/reactos/win32ss/user/ntuser/msgqueue.c b/reactos/win32ss/user/ntuser/msgqueue.c index 2e6329f2885..75589314e33 100644 --- a/reactos/win32ss/user/ntuser/msgqueue.c +++ b/reactos/win32ss/user/ntuser/msgqueue.c @@ -1859,11 +1859,13 @@ HungAppSysTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) } BOOLEAN FASTCALL -MsqInitializeMessageQueue(struct _ETHREAD *Thread, PUSER_MESSAGE_QUEUE MessageQueue) +MsqInitializeMessageQueue(PTHREADINFO pti, PUSER_MESSAGE_QUEUE MessageQueue) { + struct _ETHREAD *Thread; LARGE_INTEGER LargeTickCount; NTSTATUS Status; + Thread = pti->pEThread; MessageQueue->Thread = Thread; MessageQueue->CaretInfo = (PTHRDCARETINFO)(MessageQueue + 1); InitializeListHead(&MessageQueue->PostedMessagesListHead); @@ -2061,7 +2063,7 @@ MsqCleanupMessageQueue(PTHREADINFO pti) } PUSER_MESSAGE_QUEUE FASTCALL -MsqCreateMessageQueue(struct _ETHREAD *Thread) +MsqCreateMessageQueue(PTHREADINFO pti) { PUSER_MESSAGE_QUEUE MessageQueue; @@ -2078,7 +2080,7 @@ MsqCreateMessageQueue(struct _ETHREAD *Thread) /* hold at least one reference until it'll be destroyed */ IntReferenceMessageQueue(MessageQueue); /* initialize the queue */ - if (!MsqInitializeMessageQueue(Thread, MessageQueue)) + if (!MsqInitializeMessageQueue(pti, MessageQueue)) { IntDereferenceMessageQueue(MessageQueue); return NULL; diff --git a/reactos/win32ss/user/ntuser/msgqueue.h b/reactos/win32ss/user/ntuser/msgqueue.h index 913013651dc..8cac101c69b 100644 --- a/reactos/win32ss/user/ntuser/msgqueue.h +++ b/reactos/win32ss/user/ntuser/msgqueue.h @@ -181,8 +181,8 @@ co_MsqPeekMouseMove(IN PUSER_MESSAGE_QUEUE MessageQueue, IN UINT MsgFilterLow, IN UINT MsgFilterHigh, OUT MSG* pMsg); -BOOLEAN FASTCALL MsqInitializeMessageQueue(struct _ETHREAD *Thread, PUSER_MESSAGE_QUEUE MessageQueue); -PUSER_MESSAGE_QUEUE FASTCALL MsqCreateMessageQueue(struct _ETHREAD *Thread); +BOOLEAN FASTCALL MsqInitializeMessageQueue(PTHREADINFO, PUSER_MESSAGE_QUEUE); +PUSER_MESSAGE_QUEUE FASTCALL MsqCreateMessageQueue(PTHREADINFO); VOID FASTCALL MsqDestroyMessageQueue(PTHREADINFO); INIT_FUNCTION NTSTATUS NTAPI MsqInitializeImpl(VOID); BOOLEAN FASTCALL co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue);