mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Added kernelbase-CreateFile2 patchset
This commit is contained in:
parent
5969ae1e56
commit
ec77bc9d66
@ -0,0 +1,29 @@
|
||||
From 94c8ff1915712fb6fe00804ba618dac7633db432 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 8 Sep 2020 17:17:48 +0200
|
||||
Subject: [PATCH] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
||||
|
||||
Instead of just attributes.
|
||||
|
||||
Otherwise we may miss important flags like FILE_FLAG_OVERLAPPED and open
|
||||
the file for synchronous I/O, causing a deadlock in Flight Simulator.
|
||||
---
|
||||
dlls/kernelbase/file.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
|
||||
index e022a29478e..4f30caaac7c 100644
|
||||
--- a/dlls/kernelbase/file.c
|
||||
+++ b/dlls/kernelbase/file.c
|
||||
@@ -718,7 +718,7 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFile2( LPCWSTR name, DWORD access, DWORD s
|
||||
CREATEFILE2_EXTENDED_PARAMETERS *params )
|
||||
{
|
||||
LPSECURITY_ATTRIBUTES sa = params ? params->lpSecurityAttributes : NULL;
|
||||
- DWORD attributes = params ? params->dwFileAttributes : 0;
|
||||
+ DWORD attributes = params ? (params->dwFileAttributes | params->dwFileFlags) : 0;
|
||||
HANDLE template = params ? params->hTemplateFile : NULL;
|
||||
|
||||
FIXME( "(%s %x %x %x %p), partial stub\n", debugstr_w(name), access, sharing, creation, params );
|
||||
--
|
||||
2.28.0
|
||||
|
1
patches/kernelbase-CreateFile2/definition
Normal file
1
patches/kernelbase-CreateFile2/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: [49740] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
@ -145,6 +145,7 @@ patch_enable_all ()
|
||||
enable_kernel32_Job_Tests="$1"
|
||||
enable_kernel32_Processor_Group="$1"
|
||||
enable_kernel32_SetProcessDEPPolicy="$1"
|
||||
enable_kernelbase_CreateFile2="$1"
|
||||
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
|
||||
enable_krnl386_exe16_Invalid_Console_Handles="$1"
|
||||
enable_loader_KeyboardLayouts="$1"
|
||||
@ -530,6 +531,9 @@ patch_enable ()
|
||||
kernel32-SetProcessDEPPolicy)
|
||||
enable_kernel32_SetProcessDEPPolicy="$2"
|
||||
;;
|
||||
kernelbase-CreateFile2)
|
||||
enable_kernelbase_CreateFile2="$2"
|
||||
;;
|
||||
krnl386.exe16-GDT_LDT_Emulation)
|
||||
enable_krnl386_exe16_GDT_LDT_Emulation="$2"
|
||||
;;
|
||||
@ -1893,7 +1897,8 @@ fi
|
||||
# | * [#49740] combase: Implement CoCreateInstanceFromApp semi-stub.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/combase/combase.c, dlls/combase/combase.spec, dlls/ole32/ole32.spec
|
||||
# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-
|
||||
# | com-l1-1-1.spec, dlls/combase/combase.c, dlls/combase/combase.spec, dlls/ole32/ole32.spec
|
||||
# |
|
||||
if test "$enable_combase_CoCreateInstanceFromApp" -eq 1; then
|
||||
patch_apply combase-CoCreateInstanceFromApp/0001-combase-Implement-CoCreateInstanceFromApp-semi-stub.patch
|
||||
@ -2710,6 +2715,18 @@ if test "$enable_kernel32_SetProcessDEPPolicy" -eq 1; then
|
||||
patch_apply kernel32-SetProcessDEPPolicy/0003-kernel32-Make-system-DEP-policy-affect-GetProcessDEP.patch
|
||||
fi
|
||||
|
||||
# Patchset kernelbase-CreateFile2
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#49740] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernelbase/file.c
|
||||
# |
|
||||
if test "$enable_kernelbase_CreateFile2" -eq 1; then
|
||||
patch_apply kernelbase-CreateFile2/0001-kernelbase-Also-pass-CreateFile2-flags-to-CreateFile.patch
|
||||
fi
|
||||
|
||||
# Patchset krnl386.exe16-GDT_LDT_Emulation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
Loading…
x
Reference in New Issue
Block a user