Added patch to avoid reassigning default handles after they got closed.

This commit is contained in:
Sebastian Lackner 2016-02-27 05:11:25 +01:00
parent 177b54d90f
commit 9b9d2c7566
3 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,25 @@
From 8acd785888b9324994f0477d6d2f2bdcd3b91219 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 27 Feb 2016 03:20:34 +0100
Subject: krnl386.exe16: Do not reassign default handles after they got closed.
---
dlls/krnl386.exe16/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/krnl386.exe16/file.c b/dlls/krnl386.exe16/file.c
index b66b753..9b720ef 100644
--- a/dlls/krnl386.exe16/file.c
+++ b/dlls/krnl386.exe16/file.c
@@ -363,7 +363,7 @@ HFILE16 WINAPI _lclose16( HFILE16 hFile )
}
TRACE("%d (handle32=%p)\n", hFile, dos_handles[hFile] );
CloseHandle( dos_handles[hFile] );
- dos_handles[hFile] = 0;
+ dos_handles[hFile] = (hFile < 5) ? INVALID_HANDLE_VALUE : 0;
return 0;
}
--
2.7.1

View File

@ -0,0 +1 @@
Fixes: [19184] Do not reassign default handles after they got closed

View File

@ -177,6 +177,7 @@ patch_enable_all ()
enable_kernel32_VerifyVersionInfo="$1"
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
enable_krnl386_exe16_Invalid_Console_Handles="$1"
enable_krnl386_exe16__lclose16="$1"
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_makedep_PARENTSPEC="$1"
@ -679,6 +680,9 @@ patch_enable ()
krnl386.exe16-Invalid_Console_Handles)
enable_krnl386_exe16_Invalid_Console_Handles="$2"
;;
krnl386.exe16-_lclose16)
enable_krnl386_exe16__lclose16="$2"
;;
libs-Debug_Channel)
enable_libs_Debug_Channel="$2"
;;
@ -4219,6 +4223,21 @@ if test "$enable_krnl386_exe16_Invalid_Console_Handles" -eq 1; then
) >> "$patchlist"
fi
# Patchset krnl386.exe16-_lclose16
# |
# | This patchset fixes the following Wine bugs:
# | * [#19184] Do not reassign default handles after they got closed
# |
# | Modified files:
# | * dlls/krnl386.exe16/file.c
# |
if test "$enable_krnl386_exe16__lclose16" -eq 1; then
patch_apply krnl386.exe16-_lclose16/0001-krnl386.exe16-Do-not-reassign-default-handles-after-.patch
(
echo '+ { "Michael Müller", "krnl386.exe16: Do not reassign default handles after they got closed.", 1 },';
) >> "$patchlist"
fi
# Patchset libs-Debug_Channel
# |
# | Modified files: