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