Implement ONE_PARAM_ROUTINE_POSTQUITMESSAGE case in NtUserCallOneParam and use it in PostQuitMessage instead of NtUserPostMessage. Fixes some hangs in comctl32_winetests introduced with r40964. Patch by Giannis Adamopoulos.

See issue #4058 for more details.

svn path=/trunk/; revision=40971
This commit is contained in:
Timo Kreuzer 2009-05-18 21:29:50 +00:00
parent b1be006e50
commit 3955c51005
2 changed files with 8 additions and 1 deletions

View file

@ -1709,7 +1709,7 @@ WINAPI
PostQuitMessage(
int nExitCode)
{
(void) NtUserPostMessage(NULL, WM_QUIT, nExitCode, 0);
NtUserCallOneParam(nExitCode, ONEPARAM_ROUTINE_POSTQUITMESSAGE);
}

View file

@ -152,6 +152,13 @@ NtUserCallOneParam(
switch(Routine)
{
case ONEPARAM_ROUTINE_POSTQUITMESSAGE:
{
PTHREADINFO pti;
pti = PsGetCurrentThreadWin32Thread();
MsqPostQuitMessage(pti->MessageQueue, Param);
RETURN(TRUE);
}
case ONEPARAM_ROUTINE_SHOWCURSOR:
RETURN( (DWORD)UserShowCursor((BOOL)Param) );