Hans Leidekker : msi: Process messages while waiting for custom actions to complete.

Alexandre Julliard julliard at winehq.org
Mon Nov 14 13:33:56 CST 2011


Module: wine
Branch: master
Commit: 353016f92f14f97be8f971af2b9d58d8162e6b25
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=353016f92f14f97be8f971af2b9d58d8162e6b25

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Thu Nov 10 11:38:28 2011 +0100

msi: Process messages while waiting for custom actions to complete.

---

 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;
     }
 




More information about the wine-cvs mailing list