Author: tkreuzer Date: Tue May 19 01:29:50 2009 New Revision: 40971
URL: http://svn.reactos.org/svn/reactos?rev=40971&view=rev Log: 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.
Modified: trunk/reactos/dll/win32/user32/windows/message.c trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c
Modified: trunk/reactos/dll/win32/user32/windows/message.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/me... ============================================================================== --- trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] Tue May 19 01:29:50 2009 @@ -1709,7 +1709,7 @@ PostQuitMessage( int nExitCode) { - (void) NtUserPostMessage(NULL, WM_QUIT, nExitCode, 0); + NtUserCallOneParam(nExitCode, ONEPARAM_ROUTINE_POSTQUITMESSAGE); }
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] Tue May 19 01:29:50 2009 @@ -152,6 +152,13 @@
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) );