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.…
==============================================================================
--- 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;