From d9d138065068c2c0af2d72e4ef2505611afd9fa4 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 26 Jul 2015 20:56:13 +0200 Subject: [PATCH] Added patch to fake success in kernel32.SetFileCompletionNotificationModes. --- README.md | 3 ++- debian/changelog | 1 + ...ccess-in-SetFileCompletionNotificati.patch | 26 +++++++++++++++++++ .../definition | 1 + patches/patchinstall.sh | 19 ++++++++++++++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 patches/kernel32-SetFileCompletionNotificationModes/0001-kernel32-Fake-success-in-SetFileCompletionNotificati.patch create mode 100644 patches/kernel32-SetFileCompletionNotificationModes/definition diff --git a/README.md b/README.md index c04f9ed8..606d501f 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [8]:** +**Bug fixes and features included in the next upcoming release [9]:** * Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739)) * Add support for ThreadQuerySetWin32StartAddress info class ([Wine Bug #8277](https://bugs.winehq.org/show_bug.cgi?id=8277)) * Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021)) +* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960)) * Fix loading of libraries with incomplete IMAGE_LOAD_CONFIG_DIRECTORY struct * Fix security cookie handling for UPX compressed executables ([Wine Bug #38949](https://bugs.winehq.org/show_bug.cgi?id=38949)) * Forward exitcode from child process when in wineconsole diff --git a/debian/changelog b/debian/changelog index 50130942..4a6da683 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,7 @@ wine-staging (1.7.48) UNRELEASED; urgency=low unsupported flags FIXMEs. * Added patches to improve security cookie handling. * Added patches to implement ThreadQuerySetWin32StartAddress info class. + * Added patch to fake success in kernel32.SetFileCompletionNotificationModes. * Removed patch to allow to enable/disable InsertMode in wineconsole settings (accepted upstream). * Removed patch to improve IoGetDeviceObjectPointer stub to appease SecuROM diff --git a/patches/kernel32-SetFileCompletionNotificationModes/0001-kernel32-Fake-success-in-SetFileCompletionNotificati.patch b/patches/kernel32-SetFileCompletionNotificationModes/0001-kernel32-Fake-success-in-SetFileCompletionNotificati.patch new file mode 100644 index 00000000..b78a6cad --- /dev/null +++ b/patches/kernel32-SetFileCompletionNotificationModes/0001-kernel32-Fake-success-in-SetFileCompletionNotificati.patch @@ -0,0 +1,26 @@ +From 479993311ae3467ba359b76057744dec56fa2fea Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sun, 26 Jul 2015 20:54:23 +0200 +Subject: kernel32: Fake success in SetFileCompletionNotificationModes. + +--- + dlls/kernel32/file.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c +index e43829e..569ed22 100644 +--- a/dlls/kernel32/file.c ++++ b/dlls/kernel32/file.c +@@ -1046,8 +1046,7 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile ) + BOOL WINAPI SetFileCompletionNotificationModes( HANDLE handle, UCHAR flags ) + { + FIXME("%p %x - stub\n", handle, flags); +- SetLastError(ERROR_CALL_NOT_IMPLEMENTED); +- return FALSE; ++ return TRUE; + } + + +-- +2.4.5 + diff --git a/patches/kernel32-SetFileCompletionNotificationModes/definition b/patches/kernel32-SetFileCompletionNotificationModes/definition new file mode 100644 index 00000000..7fdc1c95 --- /dev/null +++ b/patches/kernel32-SetFileCompletionNotificationModes/definition @@ -0,0 +1 @@ +Fixes: [38960] Fake success in kernel32.SetFileCompletionNotificationModes diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index f3ed6bc1..4c722134 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -133,6 +133,7 @@ patch_enable_all () enable_kernel32_Named_Pipe="$1" enable_kernel32_NeedCurrentDirectoryForExePath="$1" enable_kernel32_Profile="$1" + enable_kernel32_SetFileCompletionNotificationModes="$1" enable_kernel32_SetFileInformationByHandle="$1" enable_kernel32_TimezoneInformation_Registry="$1" enable_kernel32_VerifyVersionInfo="$1" @@ -471,6 +472,9 @@ patch_enable () kernel32-Profile) enable_kernel32_Profile="$2" ;; + kernel32-SetFileCompletionNotificationModes) + enable_kernel32_SetFileCompletionNotificationModes="$2" + ;; kernel32-SetFileInformationByHandle) enable_kernel32_SetFileInformationByHandle="$2" ;; @@ -3076,6 +3080,21 @@ if test "$enable_kernel32_Profile" -eq 1; then ) >> "$patchlist" fi +# Patchset kernel32-SetFileCompletionNotificationModes +# | +# | This patchset fixes the following Wine bugs: +# | * [#38960] Fake success in kernel32.SetFileCompletionNotificationModes +# | +# | Modified files: +# | * dlls/kernel32/file.c +# | +if test "$enable_kernel32_SetFileCompletionNotificationModes" -eq 1; then + patch_apply kernel32-SetFileCompletionNotificationModes/0001-kernel32-Fake-success-in-SetFileCompletionNotificati.patch + ( + echo '+ { "Sebastian Lackner", "kernel32: Fake success in SetFileCompletionNotificationModes.", 1 },'; + ) >> "$patchlist" +fi + # Patchset kernel32-TimezoneInformation_Registry # | # | Modified files: