Release the Win16Lock before calling WinExec.
diff --git a/misc/shell.c b/misc/shell.c
index ae6e59d..e22f21b 100644
--- a/misc/shell.c
+++ b/misc/shell.c
@@ -432,13 +432,17 @@
retval = SHELL_FindExecutable( lpFile, lpOperation, cmd );
if (retval > 32) /* Found */
- { if (lpParameters)
- { strcat(cmd," ");
+ {
+ if (lpParameters)
+ {
+ strcat(cmd," ");
strcat(cmd,lpParameters);
}
- TRACE_(shell)("starting %s\n",cmd);
+ TRACE_(shell)("starting %s\n",cmd);
+ SYSLEVEL_ReleaseWin16Lock();
retval = WinExec( cmd, iShowCmd );
+ SYSLEVEL_RestoreWin16Lock();
}
if (lpDirectory)
SetCurrentDirectoryA( old_dir );