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 );