[1/2] msi: Process messages while waiting for custom actions to complete.
Hans Leidekker
hans at codeweavers.com
Thu Nov 10 04:38:28 CST 2011
Fix for the Quicken 2011 installer.
---
dlls/msi/dialog.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index 8b10215..4e908ff 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -3786,8 +3786,16 @@ void msi_dialog_check_messages( HANDLE handle )
/* in threads other than the UI thread, block */
if( uiThreadId != GetCurrentThreadId() )
{
- if( handle )
- MsgWaitForMultipleObjectsEx( 1, &handle, INFINITE, 0, 0 );
+ if (!handle) return;
+ while (MsgWaitForMultipleObjectsEx( 1, &handle, INFINITE, QS_ALLINPUT, 0 ) == WAIT_OBJECT_0 + 1)
+ {
+ MSG msg;
+ while (PeekMessageW( &msg, NULL, 0, 0, PM_REMOVE ))
+ {
+ TranslateMessage( &msg );
+ DispatchMessageW( &msg );
+ }
+ }
return;
}
--
1.7.5.4
More information about the wine-patches
mailing list