Author: jimtabor Date: Thu Oct 15 23:39:37 2015 New Revision: 69549
URL: http://svn.reactos.org/svn/reactos?rev=69549&view=rev Log: [SysSetup] - Fix message processing while waiting for a process to end. See CORE-9342.
Modified: trunk/reactos/dll/win32/syssetup/wizard.c
Modified: trunk/reactos/dll/win32/syssetup/wizard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/wizard.c... ============================================================================== --- trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] Thu Oct 15 23:39:37 2015 @@ -858,6 +858,7 @@ static BOOL RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters) { + MSG msg; if (pwszCPLParameters) { STARTUPINFOW StartupInfo; @@ -885,7 +886,14 @@ return FALSE; }
- WaitForSingleObject(ProcessInformation.hProcess, INFINITE); + while((MsgWaitForMultipleObjects(1, ProcessInformation.hProcess, FALSE, INFINITE, QS_ALLINPUT|QS_ALLPOSTMESSAGE )) != WAIT_OBJECT_0) + { + while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } CloseHandle(ProcessInformation.hThread); CloseHandle(ProcessInformation.hProcess); return TRUE;