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;
|
int aix;
|
||||||
dbg_decl_str(relay, 1024);
|
dbg_decl_str(relay, 1024);
|
||||||
|
|
||||||
|
SYSLEVEL_ReleaseWin16Lock();
|
||||||
|
|
||||||
VA_START16( valist );
|
VA_START16( valist );
|
||||||
nrofargs = VA_ARG16( valist, DWORD );
|
nrofargs = VA_ARG16( valist, DWORD );
|
||||||
argconvmask = 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);
|
TRACE(relay,"%s - returns %08lx\n",dbg_str(relay),ret);
|
||||||
HeapFree( GetProcessHeap(), 0, args );
|
HeapFree( GetProcessHeap(), 0, args );
|
||||||
|
|
||||||
|
SYSLEVEL_RestoreWin16Lock();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -805,7 +805,13 @@ static BOOL MODULE_CreateUnixProcess( LPCSTR filename, LPCSTR lpCmdLine,
|
||||||
*/
|
*/
|
||||||
HINSTANCE16 WINAPI WinExec16( LPCSTR lpCmdLine, UINT16 nCmdShow )
|
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