Bugfix: release Win16Lock in WinExec16, CallProc[Ex]32W_16.
This commit is contained in:
parent
b8fa2962e5
commit
6ce4006137
|
@ -434,6 +434,8 @@ static DWORD RELAY_CallProc32W(int Ex)
|
|||
int aix;
|
||||
dbg_decl_str(relay, 1024);
|
||||
|
||||
SYSLEVEL_ReleaseWin16Lock();
|
||||
|
||||
VA_START16( valist );
|
||||
nrofargs = VA_ARG16( valist, DWORD );
|
||||
argconvmask = VA_ARG16( valist, DWORD );
|
||||
|
@ -502,6 +504,9 @@ static DWORD RELAY_CallProc32W(int Ex)
|
|||
|
||||
TRACE(relay,"%s - returns %08lx\n",dbg_str(relay),ret);
|
||||
HeapFree( GetProcessHeap(), 0, args );
|
||||
|
||||
SYSLEVEL_RestoreWin16Lock();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -805,7 +805,13 @@ static BOOL MODULE_CreateUnixProcess( LPCSTR filename, LPCSTR lpCmdLine,
|
|||
*/
|
||||
HINSTANCE16 WINAPI WinExec16( LPCSTR lpCmdLine, UINT16 nCmdShow )
|
||||
{
|
||||
return WinExec( lpCmdLine, nCmdShow );
|
||||
HINSTANCE16 hInst;
|
||||
|
||||
SYSLEVEL_ReleaseWin16Lock();
|
||||
hInst = WinExec( lpCmdLine, nCmdShow );
|
||||
SYSLEVEL_RestoreWin16Lock();
|
||||
|
||||
return hInst;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
|
Loading…
Reference in New Issue