Alexandre Julliard : winedos: Make sure that the main message queue exists before the DOS thread starts.

Alexandre Julliard julliard at winehq.org
Wed May 7 13:28:09 CDT 2008


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed May  7 17:33:19 2008 +0200

winedos: Make sure that the main message queue exists before the DOS thread starts.

---

 dlls/winedos/module.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/winedos/module.c b/dlls/winedos/module.c
index 1dfaabd..ade7732 100644
--- a/dlls/winedos/module.c
+++ b/dlls/winedos/module.c
@@ -655,6 +655,7 @@ static void MZ_Launch( LPCSTR cmdtail, int length )
   BYTE *psp_start = PTR_REAL_TO_LIN( DOSVM_psp, 0 );
   DWORD rv;
   SYSLEVEL *lock;
+  MSG msg;
 
   MZ_FillPSP(psp_start, cmdtail, length);
   pTask->flags |= TDBF_WINOLDAP;
@@ -665,6 +666,9 @@ static void MZ_Launch( LPCSTR cmdtail, int length )
   GetpWin16Lock( &lock );
   _LeaveSysLevel( lock );
 
+  /* force the message queue to be created */
+  PeekMessageW(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE);
+
   ResumeThread(dosvm_thread);
   rv = DOSVM_Loop(dosvm_thread);
 




More information about the wine-cvs mailing list