diff --git a/patches/msi-MsiGetDatabaseState/0001-msi-Always-return-MSIDBSTATE_ERROR-when-MsiGetDataba.patch b/patches/msi-MsiGetDatabaseState/0001-msi-Always-return-MSIDBSTATE_ERROR-when-MsiGetDataba.patch deleted file mode 100644 index 313fa9a4..00000000 --- a/patches/msi-MsiGetDatabaseState/0001-msi-Always-return-MSIDBSTATE_ERROR-when-MsiGetDataba.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 21028049055c1f65d72baf685ad9464187aada25 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Wed, 31 May 2017 03:53:05 +0200 -Subject: msi: Always return MSIDBSTATE_ERROR when MsiGetDatabaseState is - called from a custom action. - ---- - dlls/msi/database.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/dlls/msi/database.c b/dlls/msi/database.c -index d3eb910..47a99fa 100644 ---- a/dlls/msi/database.c -+++ b/dlls/msi/database.c -@@ -1890,13 +1890,8 @@ MSIDBSTATE WINAPI MsiGetDatabaseState( MSIHANDLE handle ) - db = msihandle2msiinfo( handle, MSIHANDLETYPE_DATABASE ); - if( !db ) - { -- MSIHANDLE remote_database = msi_get_remote(handle); -- if ( !remote_database ) -- return MSIDBSTATE_ERROR; -- - WARN("MsiGetDatabaseState not allowed during a custom action!\n"); -- -- return MSIDBSTATE_READ; -+ return MSIDBSTATE_ERROR; - } - - if (db->mode != MSIDBOPEN_READONLY ) --- -2.7.4 - diff --git a/patches/msi-MsiGetDatabaseState/definition b/patches/msi-MsiGetDatabaseState/definition deleted file mode 100644 index 3db2c1d9..00000000 --- a/patches/msi-MsiGetDatabaseState/definition +++ /dev/null @@ -1,2 +0,0 @@ -Fixes: Return MSIDBSTATE_ERROR when MsiGetDatabaseState is called from a custom action -# Note: this was originally written for League of Legends; see bug 43093. \ No newline at end of file diff --git a/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch b/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch index 2b1f334c..3b94aa50 100644 --- a/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch +++ b/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch @@ -1,16 +1,16 @@ -From 41da6df255dd09494827ad780e5821e119b4507b Mon Sep 17 00:00:00 2001 +From 91682accdd60ed9d3aac6492acbf6deff814e820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 9 Mar 2017 16:27:23 +0100 Subject: [PATCH] ntdll: Fill process kernel and user time. --- - dlls/ntdll/nt.c | 6 +++- - dlls/ntdll/ntdll_misc.h | 3 ++ - dlls/ntdll/thread.c | 84 ++++++++++++++++++++++++++++--------------------- - 3 files changed, 56 insertions(+), 37 deletions(-) + dlls/ntdll/nt.c | 6 ++- + dlls/ntdll/ntdll_misc.h | 5 +++ + dlls/ntdll/thread.c | 84 +++++++++++++++++++++++------------------ + 3 files changed, 58 insertions(+), 37 deletions(-) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c -index 0db0d16..c370550 100644 +index d2a4b1d35af..258798fcdee 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -2451,6 +2451,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( @@ -41,19 +41,24 @@ index 0db0d16..c370550 100644 len += procstructlen; } diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index fdc54c6..69005d0 100644 +index 4835885d6c5..40bf66f1d24 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -260,4 +260,7 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN; +@@ -260,7 +260,12 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN; NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*); void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR); +/* process / thread time */ +extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, + LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN; ++ + /* string functions */ + int __cdecl NTDLL_tolower( int c ); + int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 ); ++ #endif diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index e4336ab..4279ae7 100644 +index e4336ab1237..4279ae77099 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -149,6 +149,53 @@ static ULONG_PTR get_image_addr(void) @@ -155,5 +160,5 @@ index e4336ab..4279ae7 100644 /* get values for current process instead */ -- -1.9.1 +2.20.1 diff --git a/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch b/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch index 903fa97e..7774ea37 100644 --- a/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch +++ b/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch @@ -1,4 +1,4 @@ -From e72a63216155c21784be784940782e995022a319 Mon Sep 17 00:00:00 2001 +From d2f9bcfc14a960a4b365406a8610f9ab96f78e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 9 Mar 2017 22:56:45 +0100 Subject: [PATCH] ntdll: Fill process virtual memory counters in @@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better? 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c -index 86695f7d23e..7736adca5b1 100644 +index 3c2838f365e..5092b97d252 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c -@@ -2511,8 +2511,11 @@ NTSTATUS WINAPI NtQuerySystemInformation( +@@ -2510,8 +2510,11 @@ NTSTATUS WINAPI NtQuerySystemInformation( /* spi->ti will be set later on */ if (reply->unix_pid != -1) @@ -29,17 +29,19 @@ index 86695f7d23e..7736adca5b1 100644 } len += procstructlen; diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index 4a411292cdc..467d66373dd 100644 +index 40bf66f1d24..5ec14a399cc 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -261,4 +261,5 @@ NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*); +@@ -263,6 +263,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR); /* process / thread time */ extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN; +extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_HIDDEN; - #endif + + /* string functions */ + int __cdecl NTDLL_tolower( int c ); diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c -index bb4a1719c3c..709daf19faf 100644 +index 34051c2ef93..94e8df8d8d1 100644 --- a/dlls/ntdll/process.c +++ b/dlls/ntdll/process.c @@ -203,7 +203,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi) @@ -52,10 +54,10 @@ index bb4a1719c3c..709daf19faf 100644 #endif diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index fea1244620c..e56c02faec6 100644 +index 4279ae77099..0f90291e222 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c -@@ -197,6 +197,42 @@ BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, +@@ -195,6 +195,42 @@ BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, return FALSE; } diff --git a/patches/ntoskrnl.exe-Resources/0013-ntoskrnl.exe-tests-Add-tests-for-ERESOURCE-functions.patch b/patches/ntoskrnl.exe-Resources/0013-ntoskrnl.exe-tests-Add-tests-for-ERESOURCE-functions.patch index b11dbfb2..4be8d402 100644 --- a/patches/ntoskrnl.exe-Resources/0013-ntoskrnl.exe-tests-Add-tests-for-ERESOURCE-functions.patch +++ b/patches/ntoskrnl.exe-Resources/0013-ntoskrnl.exe-tests-Add-tests-for-ERESOURCE-functions.patch @@ -1,4 +1,4 @@ -From 62ab92c3a4b0ba57df6a84ac0119a0c134760608 Mon Sep 17 00:00:00 2001 +From 2f00e0d3531ac02c23a4339ea582ea1e71e40499 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 29 Jan 2019 21:54:39 -0600 Subject: [PATCH] ntoskrnl.exe/tests: Add tests for ERESOURCE functions. @@ -10,11 +10,11 @@ Signed-off-by: Zebediah Figura 2 files changed, 312 insertions(+), 1 deletion(-) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index 2fbe493fa35..b2ac5fc8a0e 100644 +index 88237461d5b..312cdbf38cb 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c -@@ -308,7 +308,14 @@ static NTSTATUS wait_multiple(ULONG count, void *objs[], WAIT_TYPE wait_type, UL - return KeWaitForMultipleObjects(count, objs, wait_type, Executive, KernelMode, FALSE, &integer, NULL); +@@ -316,7 +316,14 @@ static NTSTATUS wait_single_handle(HANDLE handle, ULONGLONG timeout) + return ZwWaitForSingleObject(handle, FALSE, &integer); } -static void run_thread(PKSTART_ROUTINE proc, void *arg) @@ -29,7 +29,7 @@ index 2fbe493fa35..b2ac5fc8a0e 100644 { OBJECT_ATTRIBUTES attr = {0}; HANDLE thread; -@@ -319,12 +326,25 @@ static void run_thread(PKSTART_ROUTINE proc, void *arg) +@@ -327,12 +334,25 @@ static void run_thread(PKSTART_ROUTINE proc, void *arg) ret = PsCreateSystemThread(&thread, THREAD_ALL_ACCESS, &attr, NULL, NULL, proc, arg); ok(!ret, "got %#x\n", ret); @@ -55,7 +55,7 @@ index 2fbe493fa35..b2ac5fc8a0e 100644 static KMUTEX test_mutex; static void WINAPI mutex_thread(void *arg) -@@ -763,6 +783,294 @@ static void test_ob_reference(const WCHAR *test_path) +@@ -814,6 +834,294 @@ static void test_ob_reference(const WCHAR *test_path) ok(!status, "ZwClose failed: %#x\n", status); } @@ -350,7 +350,7 @@ index 2fbe493fa35..b2ac5fc8a0e 100644 static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -805,6 +1113,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st +@@ -856,6 +1164,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st test_stack_callout(); test_lookaside_list(); test_ob_reference(test_input->path); @@ -359,10 +359,10 @@ index 2fbe493fa35..b2ac5fc8a0e 100644 /* print process report */ if (winetest_debug) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h -index e5a2906fb49..0677be693c1 100644 +index 3600bcd80af..d7930be68a9 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h -@@ -1578,6 +1578,7 @@ void WINAPI KeAcquireSpinLockAtDpcLevel(KSPIN_LOCK*); +@@ -1579,6 +1579,7 @@ void WINAPI KeAcquireSpinLockAtDpcLevel(KSPIN_LOCK*); BOOLEAN WINAPI KeCancelTimer(KTIMER*); void WINAPI KeClearEvent(PRKEVENT); NTSTATUS WINAPI KeDelayExecutionThread(KPROCESSOR_MODE,BOOLEAN,LARGE_INTEGER*); @@ -370,7 +370,7 @@ index e5a2906fb49..0677be693c1 100644 PKTHREAD WINAPI KeGetCurrentThread(void); void WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN); void WINAPI KeInitializeMutex(PRKMUTEX,ULONG); -@@ -1585,6 +1586,7 @@ void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG); +@@ -1586,6 +1587,7 @@ void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG); void WINAPI KeInitializeSpinLock(KSPIN_LOCK*); void WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE); void WINAPI KeInitializeTimer(KTIMER*); diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index d9a1f877..d6aab573 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "c7f323107b3b956d206d8d0ee28851d60f19841c" + echo "829170f3d6b875f7a6f065072cc3334a20ff805e" } # Show version information @@ -180,7 +180,6 @@ patch_enable_all () enable_mountmgr_DosDevices="$1" enable_mscoree_CorValidateImage="$1" enable_mshtml_HTMLLocation_put_hash="$1" - enable_msi_MsiGetDatabaseState="$1" enable_msi_msi_vcl_get_cost="$1" enable_msvcrt_Math_Precision="$1" enable_ntdll_APC_Performance="$1" @@ -255,7 +254,6 @@ patch_enable_all () enable_qwave_QOSCreateHandle="$1" enable_riched20_Class_Tests="$1" enable_riched20_IText_Interface="$1" - enable_server_Desktop_Refcount="$1" enable_server_FileEndOfFileInformation="$1" enable_server_File_Permissions="$1" enable_server_Inherited_ACLs="$1" @@ -295,7 +293,6 @@ patch_enable_all () enable_stdole32_tlb_SLTG_Typelib="$1" enable_taskmgr_Memory_Usage="$1" enable_uianimation_stubs="$1" - enable_urlmon_ftp_escape="$1" enable_user32_DM_SETDEFID="$1" enable_user32_Dialog_Paint_Event="$1" enable_user32_DrawMenuItem="$1" @@ -688,9 +685,6 @@ patch_enable () mshtml-HTMLLocation_put_hash) enable_mshtml_HTMLLocation_put_hash="$2" ;; - msi-MsiGetDatabaseState) - enable_msi_MsiGetDatabaseState="$2" - ;; msi-msi_vcl_get_cost) enable_msi_msi_vcl_get_cost="$2" ;; @@ -913,9 +907,6 @@ patch_enable () riched20-IText_Interface) enable_riched20_IText_Interface="$2" ;; - server-Desktop_Refcount) - enable_server_Desktop_Refcount="$2" - ;; server-FileEndOfFileInformation) enable_server_FileEndOfFileInformation="$2" ;; @@ -1033,9 +1024,6 @@ patch_enable () uianimation-stubs) enable_uianimation_stubs="$2" ;; - urlmon-ftp_escape) - enable_urlmon_ftp_escape="$2" - ;; user32-DM_SETDEFID) enable_user32_DM_SETDEFID="$2" ;; @@ -1697,20 +1685,6 @@ if test "$enable_xaudio2_7_CreateFX_FXEcho" -eq 1; then enable_xaudio2_revert=1 fi -if test "$enable_ws2_32_WSACleanup" -eq 1; then - if test "$enable_server_Desktop_Refcount" -gt 1; then - abort "Patchset server-Desktop_Refcount disabled, but ws2_32-WSACleanup depends on that." - fi - enable_server_Desktop_Refcount=1 -fi - -if test "$enable_ws2_32_TransmitFile" -eq 1; then - if test "$enable_server_Desktop_Refcount" -gt 1; then - abort "Patchset server-Desktop_Refcount disabled, but ws2_32-TransmitFile depends on that." - fi - enable_server_Desktop_Refcount=1 -fi - if test "$enable_wintrust_WTHelperGetProvCertFromChain" -eq 1; then if test "$enable_wintrust_WinVerifyTrust" -gt 1; then abort "Patchset wintrust-WinVerifyTrust disabled, but wintrust-WTHelperGetProvCertFromChain depends on that." @@ -4014,7 +3988,7 @@ fi # | * [#32490] Graphical issues in Inquisitor # | # | Modified files: -# | * dlls/kernel32/tests/locale.c, libs/wine/collation.c +# | * dlls/kernel32/tests/locale.c, libs/port/collation.c # | if test "$enable_libs_Unicode_Collation" -eq 1; then patch_apply libs-Unicode_Collation/0001-libs-Fix-most-problems-with-CompareString.patch @@ -4100,18 +4074,6 @@ if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then ) >> "$patchlist" fi -# Patchset msi-MsiGetDatabaseState -# | -# | Modified files: -# | * dlls/msi/database.c -# | -if test "$enable_msi_MsiGetDatabaseState" -eq 1; then - patch_apply msi-MsiGetDatabaseState/0001-msi-Always-return-MSIDBSTATE_ERROR-when-MsiGetDataba.patch - ( - printf '%s\n' '+ { "Michael Müller", "msi: Always return MSIDBSTATE_ERROR when MsiGetDatabaseState is called from a custom action.", 1 },'; - ) >> "$patchlist" -fi - # Patchset msi-msi_vcl_get_cost # | # | Modified files: @@ -5362,30 +5324,6 @@ if test "$enable_riched20_IText_Interface" -eq 1; then ) >> "$patchlist" fi -# Patchset server-Desktop_Refcount -# | -# | Modified files: -# | * dlls/user32/tests/winstation.c, dlls/user32/winstation.c, include/winuser.h, programs/explorer/desktop.c, -# | server/async.c, server/atom.c, server/change.c, server/clipboard.c, server/completion.c, server/console.c, -# | server/debugger.c, server/device.c, server/directory.c, server/event.c, server/fd.c, server/file.c, server/handle.c, -# | server/handle.h, server/hook.c, server/mailslot.c, server/mapping.c, server/mutex.c, server/named_pipe.c, -# | server/object.c, server/object.h, server/process.c, server/queue.c, server/registry.c, server/request.c, -# | server/semaphore.c, server/serial.c, server/signal.c, server/snapshot.c, server/sock.c, server/symlink.c, -# | server/thread.c, server/timer.c, server/token.c, server/winstation.c -# | -if test "$enable_server_Desktop_Refcount" -eq 1; then - patch_apply server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch - patch_apply server-Desktop_Refcount/0002-server-Track-desktop-handle-count-more-correctly.patch - patch_apply server-Desktop_Refcount/0003-user32-Implement-CWF_CREATE_ONLY-flag-for-CreateWind.patch - patch_apply server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch - ( - printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce a new alloc_handle object callback.", 2 },'; - printf '%s\n' '+ { "Sebastian Lackner", "server: Track desktop handle count more correctly.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "user32: Implement CWF_CREATE_ONLY flag for CreateWindowStation.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "server: Assign random name when no name was passed to create_winstation.", 1 },'; - ) >> "$patchlist" -fi - # Patchset server-FileEndOfFileInformation # | # | Modified files: @@ -6102,23 +6040,6 @@ if test "$enable_uianimation_stubs" -eq 1; then ) >> "$patchlist" fi -# Patchset urlmon-ftp_escape -# | -# | This patchset fixes the following Wine bugs: -# | * [#26445] urlmon: Use unescaped Urls for FTP actions -# | -# | Modified files: -# | * dlls/urlmon/ftp.c, dlls/urlmon/tests/Makefile.in, dlls/urlmon/tests/url.c -# | -if test "$enable_urlmon_ftp_escape" -eq 1; then - patch_apply urlmon-ftp_escape/0001-urlmon-Use-unescaped-Urls-for-FTP-actions.patch - patch_apply urlmon-ftp_escape/0002-urlmon-tests-Add-FTP-encoded-url-test.patch - ( - printf '%s\n' '+ { "André Hentschel", "urlmon: Use unescaped Urls for FTP actions.", 1 },'; - printf '%s\n' '+ { "Alistair Leslie-Hughes", "urlmon/tests: Add FTP encoded url test.", 1 },'; - ) >> "$patchlist" -fi - # Patchset user32-DM_SETDEFID # | # | This patchset fixes the following Wine bugs: @@ -7448,9 +7369,6 @@ fi # Patchset ws2_32-TransmitFile # | -# | This patchset has the following (direct or indirect) dependencies: -# | * server-Desktop_Refcount -# | # | Modified files: # | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/winsock.h, server/protocol.def, server/sock.c # | @@ -7465,9 +7383,6 @@ fi # Patchset ws2_32-WSACleanup # | -# | This patchset has the following (direct or indirect) dependencies: -# | * server-Desktop_Refcount -# | # | This patchset fixes the following Wine bugs: # | * [#18670] Properly close sockets when WSACleanup is called # | diff --git a/patches/server-Desktop_Refcount/definition b/patches/server-Desktop_Refcount/definition index 999152c9..0870a8d3 100644 --- a/patches/server-Desktop_Refcount/definition +++ b/patches/server-Desktop_Refcount/definition @@ -1,2 +1,3 @@ Fixes: Fix possible leak of explorer.exe processes and implement proper desktop refcounting Fixes: Assign random name when trying to create Window Station without name +Disabled: True diff --git a/patches/server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch b/patches/server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch index c6a0eab4..bed0a415 100644 --- a/patches/server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch +++ b/patches/server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch @@ -1,18 +1,18 @@ -From 7947b082f3d34c30f2c69e236db6723985faf35f Mon Sep 17 00:00:00 2001 +From bd0f7b022c161bf1c43bb9457925c0e1b45d0468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 27 May 2017 15:52:32 +0200 -Subject: server: Fix crash when a device driver segfaults during an open file - request. +Subject: [PATCH] server: Fix crash when a device driver segfaults during an + open file request. --- server/device.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/device.c b/server/device.c -index 42f3e797ab9..a5928f520a9 100644 +index 5880ea620b9..9e250a8a9d3 100644 --- a/server/device.c +++ b/server/device.c -@@ -623,7 +623,11 @@ static void delete_device( struct device *device ) +@@ -667,7 +667,11 @@ static void delete_device( struct device *device ) if (!device->manager) return; /* already deleted */ LIST_FOR_EACH_ENTRY_SAFE( file, next, &device->files, struct device_file, entry ) @@ -24,7 +24,7 @@ index 42f3e797ab9..a5928f520a9 100644 unlink_named_object( &device->obj ); list_remove( &device->entry ); -@@ -651,7 +655,9 @@ static void device_manager_destroy( struct object *obj ) +@@ -705,7 +709,9 @@ static void device_manager_destroy( struct object *obj ) while ((ptr = list_head( &manager->devices ))) { struct device *device = LIST_ENTRY( ptr, struct device, entry ); @@ -32,8 +32,8 @@ index 42f3e797ab9..a5928f520a9 100644 delete_device( device ); + release_object( &device->obj ); } - } + while ((ptr = list_head( &manager->requests ))) -- -2.12.2 +2.20.1 diff --git a/patches/urlmon-ftp_escape/0001-urlmon-Use-unescaped-Urls-for-FTP-actions.patch b/patches/urlmon-ftp_escape/0001-urlmon-Use-unescaped-Urls-for-FTP-actions.patch deleted file mode 100644 index d3d9fb57..00000000 --- a/patches/urlmon-ftp_escape/0001-urlmon-Use-unescaped-Urls-for-FTP-actions.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 8900fa2361ec0fc9b22fd071a1c5d8cd5b7ffdbf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= -Date: Tue, 29 Jan 2019 08:37:52 +1100 -Subject: [PATCH] urlmon: Use unescaped Urls for FTP actions - -Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26445 ---- - dlls/urlmon/ftp.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c -index aef4a6c..b438d7c 100644 ---- a/dlls/urlmon/ftp.c -+++ b/dlls/urlmon/ftp.c -@@ -66,17 +66,23 @@ static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request - HINTERNET internet_session, IInternetBindInfo *bind_info) - { - FtpProtocol *This = impl_from_Protocol(prot); -- BSTR url; -+ DWORD path_size = INTERNET_MAX_URL_LENGTH; -+ BSTR url, path; - HRESULT hres; - - hres = IUri_GetAbsoluteUri(uri, &url); - if(FAILED(hres)) - return hres; -+ path = heap_alloc(path_size); -+ hres = UrlUnescapeW((LPWSTR)url, path, &path_size, 0); -+ if(FAILED(hres)) -+ return hres; -+ SysFreeString(url); - -- This->base.request = InternetOpenUrlW(internet_session, url, NULL, 0, -+ This->base.request = InternetOpenUrlW(internet_session, path, NULL, 0, - request_flags|INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_PASSIVE, - (DWORD_PTR)&This->base); -- SysFreeString(url); -+ SysFreeString(path); - if (!This->base.request && GetLastError() != ERROR_IO_PENDING) { - WARN("InternetOpenUrl failed: %d\n", GetLastError()); - return INET_E_RESOURCE_NOT_FOUND; --- -1.9.1 - diff --git a/patches/urlmon-ftp_escape/0002-urlmon-tests-Add-FTP-encoded-url-test.patch b/patches/urlmon-ftp_escape/0002-urlmon-tests-Add-FTP-encoded-url-test.patch deleted file mode 100644 index c4629acd..00000000 --- a/patches/urlmon-ftp_escape/0002-urlmon-tests-Add-FTP-encoded-url-test.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 70241b0a4b7eadff9b2baeced34186b59e3dc53a Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Tue, 29 Jan 2019 09:04:27 +1100 -Subject: [PATCH] urlmon/tests: Add FTP encoded url test - -Signed-off-by: Alistair Leslie-Hughes ---- - dlls/urlmon/tests/Makefile.in | 2 +- - dlls/urlmon/tests/url.c | 17 ++++++++++++++++- - 2 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/dlls/urlmon/tests/Makefile.in b/dlls/urlmon/tests/Makefile.in -index 2eef129..48afdc9 100644 ---- a/dlls/urlmon/tests/Makefile.in -+++ b/dlls/urlmon/tests/Makefile.in -@@ -1,5 +1,5 @@ - TESTDLL = urlmon.dll --IMPORTS = urlmon wininet ole32 oleaut32 user32 advapi32 -+IMPORTS = urlmon wininet ole32 oleaut32 user32 advapi32 shlwapi - - C_SRCS = \ - generated.c \ -diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c -index ada78c9..09e7d86 100644 ---- a/dlls/urlmon/tests/url.c -+++ b/dlls/urlmon/tests/url.c -@@ -32,6 +32,7 @@ - #include "urlmon.h" - #include "wininet.h" - #include "mshtml.h" -+#include "shlwapi.h" - - #include "wine/test.h" - -@@ -191,6 +192,7 @@ static BOOL async_switch = FALSE; - static BOOL strict_bsc_qi; - static DWORD bindtest_flags; - static const char *test_file; -+static const char *ftp_url; - - static WCHAR file_url[INTERNET_MAX_URL_LENGTH], current_url[INTERNET_MAX_URL_LENGTH]; - -@@ -2905,7 +2907,10 @@ static void init_bind_test(int protocol, DWORD flags, DWORD t) - url_a = (flags & BINDTEST_INVALID_CN) ? "https://4.15.184.77/favicon.ico" : "https://test.winehq.org/tests/hello.html"; - break; - case FTP_TEST: -- url_a = "ftp://ftp.winehq.org/welcome.msg"; -+ if(!ftp_url) -+ url_a = "ftp://ftp.winehq.org/welcome.msg"; -+ else -+ url_a = ftp_url; - break; - default: - url_a = "winetest:test"; -@@ -2969,6 +2974,13 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t) - if(FAILED(hres)) - return; - -+ if(protocol == FTP_TEST) -+ { -+ /* FTP url dont have any escape characters, so convert the url to what is expected */ -+ DWORD size = 0; -+ UrlUnescapeW(current_url, NULL, &size, URL_UNESCAPE_INPLACE); -+ } -+ - hres = IMoniker_QueryInterface(mon, &IID_IBinding, (void**)&bind); - ok(hres == E_NOINTERFACE, "IMoniker should not have IBinding interface\n"); - if(SUCCEEDED(hres)) -@@ -4144,6 +4156,9 @@ START_TEST(url) - trace("ftp test...\n"); - test_BindToStorage(FTP_TEST, 0, TYMED_ISTREAM); - -+ ftp_url = "ftp://ftp.winehq.org/welcome%2emsg"; -+ test_BindToStorage(FTP_TEST, 0, TYMED_ISTREAM); -+ - trace("test failures...\n"); - test_BindToStorage_fail(); - --- -1.9.1 - diff --git a/patches/urlmon-ftp_escape/definition b/patches/urlmon-ftp_escape/definition deleted file mode 100644 index 858a2ae0..00000000 --- a/patches/urlmon-ftp_escape/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [26445] urlmon: Use unescaped Urls for FTP actions diff --git a/patches/wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch b/patches/wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch index b23a1227..9d8a9bd1 100644 --- a/patches/wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch +++ b/patches/wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch @@ -1,7 +1,7 @@ -From ec2efdf0470dac6a513b0e4a01cc48745b8fa04f Mon Sep 17 00:00:00 2001 +From 46332c4aabadfe412ff38a801d3dbf828a555f6e Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 20:28:35 +0300 -Subject: [PATCH 5/5] wined3d: Support indexed vertex blending. +Subject: [PATCH] wined3d: Support indexed vertex blending. Signed-off-by: Paul Gofman --- @@ -13,7 +13,7 @@ Signed-off-by: Paul Gofman 5 files changed, 169 insertions(+), 30 deletions(-) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c -index bd9f349746..beed647b6c 100644 +index bd9f349746d..beed647b6c6 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -21607,7 +21607,7 @@ static void do_test_indexed_vertex_blending(IDirect3DDevice9 *device, const char @@ -44,7 +44,7 @@ index bd9f349746..beed647b6c 100644 hr = IDirect3DDevice9_SetSoftwareVertexProcessing(device, FALSE); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index df4dfa0659..8791a714cc 100644 +index 389045bdc82..1660e4d50c6 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -150,6 +150,9 @@ struct shader_glsl_priv @@ -317,10 +317,10 @@ index df4dfa0659..8791a714cc 100644 device->vertex_priv = vertex_priv; device->fragment_priv = fragment_priv; device->shader_priv = priv; -@@ -11436,6 +11543,14 @@ static void shader_glsl_free(struct wined3d_device *device) +@@ -11436,6 +11543,14 @@ static void shader_glsl_free(struct wined3d_device *device, struct wined3d_conte string_buffer_free(&priv->shader_buffer); - priv->fragment_pipe->free_private(device); - priv->vertex_pipe->vp_free(device); + priv->fragment_pipe->free_private(device, context); + priv->vertex_pipe->vp_free(device, context); + if (priv->ubo_modelview != -1) + { + const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; @@ -345,7 +345,7 @@ index df4dfa0659..8791a714cc 100644 caps->vertex_processing_caps = WINED3DVTXPCAPS_TEXGEN | WINED3DVTXPCAPS_MATERIALSOURCE7 | WINED3DVTXPCAPS_VERTEXFOG -@@ -12051,7 +12170,8 @@ static void glsl_vertex_pipe_pixel_shader(struct wined3d_context *context, +@@ -12052,7 +12171,8 @@ static void glsl_vertex_pipe_pixel_shader(struct wined3d_context *context, static void glsl_vertex_pipe_world(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) { @@ -356,10 +356,10 @@ index df4dfa0659..8791a714cc 100644 static void glsl_vertex_pipe_vertexblend(struct wined3d_context *context, diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c -index fd8e944e3b..fbc44b78b9 100644 +index bf03f470491..2557c79e17b 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c -@@ -6331,6 +6331,7 @@ void wined3d_ffp_get_vs_settings(const struct wined3d_context *context, +@@ -6334,6 +6334,7 @@ void wined3d_ffp_get_vs_settings(const struct wined3d_context *context, settings->flatshading = FALSE; settings->swizzle_map = si->swizzle_map; @@ -368,7 +368,7 @@ index fd8e944e3b..fbc44b78b9 100644 int wined3d_ffp_vertex_program_key_compare(const void *key, const struct wine_rb_entry *entry) diff --git a/dlls/wined3d/vertexdeclaration.c b/dlls/wined3d/vertexdeclaration.c -index cd8bb5e423..d37f3ce860 100644 +index cd8bb5e4233..d37f3ce8606 100644 --- a/dlls/wined3d/vertexdeclaration.c +++ b/dlls/wined3d/vertexdeclaration.c @@ -119,6 +119,15 @@ static BOOL declaration_element_valid_ffp(const struct wined3d_vertex_element *e @@ -388,7 +388,7 @@ index cd8bb5e423..d37f3ce860 100644 switch(element->format) { diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 5cbadfc2ed..7265c2d606 100644 +index d5f89fb6b02..cdf9d157782 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -279,6 +279,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup @@ -399,7 +399,7 @@ index 5cbadfc2ed..7265c2d606 100644 #define MAX_RENDER_TARGETS 8 struct min_lookup -@@ -2852,7 +2853,8 @@ struct wined3d_ffp_vs_settings +@@ -2858,7 +2859,8 @@ struct wined3d_ffp_vs_settings DWORD ortho_fog : 1; DWORD flatshading : 1; DWORD swizzle_map : 16; /* MAX_ATTRIBS, 16 */ @@ -409,7 +409,7 @@ index 5cbadfc2ed..7265c2d606 100644 DWORD texgen[WINED3D_MAX_TEXTURES]; }; -@@ -4748,6 +4750,13 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs) +@@ -4754,6 +4756,13 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs) assert(cs->thread_id != GetCurrentThreadId()); } diff --git a/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch b/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch index 28573d8d..41bca5aa 100644 --- a/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch +++ b/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch @@ -1,7 +1,7 @@ -From 8c0527ec9d3d1635b74d892aa21d45b86a1e5a18 Mon Sep 17 00:00:00 2001 +From 0acb83f21a53fe47d9fa9c3ed5d2732ccce18ade Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 13:17:01 +0300 -Subject: [PATCH 1/5] wined3d: Use UBO for vertex shader float constants if +Subject: [PATCH] wined3d: Use UBO for vertex shader float constants if supported. Signed-off-by: Paul Gofman @@ -17,7 +17,7 @@ Signed-off-by: Paul Gofman 8 files changed, 147 insertions(+), 14 deletions(-) diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c -index f78ff3e5af..847cfd17bf 100644 +index f78ff3e5af7..847cfd17bf6 100644 --- a/dlls/d3d8/directx.c +++ b/dlls/d3d8/directx.c @@ -420,7 +420,7 @@ BOOL d3d8_init(struct d3d8 *d3d8) @@ -30,7 +30,7 @@ index f78ff3e5af..847cfd17bf 100644 d3d8->IDirect3D8_iface.lpVtbl = &d3d8_vtbl; d3d8->refcount = 1; diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c -index c507991aaa..7cdf5ddbb9 100644 +index c507991aaa4..7cdf5ddbb9a 100644 --- a/dlls/d3d9/directx.c +++ b/dlls/d3d9/directx.c @@ -585,7 +585,7 @@ BOOL d3d9_init(struct d3d9 *d3d9, BOOL extended) @@ -43,10 +43,10 @@ index c507991aaa..7cdf5ddbb9 100644 if (!extended) flags |= WINED3D_VIDMEM_ACCOUNTING; diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c -index 5a5a1612a5..fe85fab216 100644 +index 1b8282be964..05f03170a7d 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c -@@ -3091,6 +3091,9 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct +@@ -3084,6 +3084,9 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct gl_info->limits.uniform_blocks[WINED3D_SHADER_TYPE_VERTEX] = min(gl_max, WINED3D_MAX_CBS); TRACE("Max vertex uniform blocks: %u (%d).\n", gl_info->limits.uniform_blocks[WINED3D_SHADER_TYPE_VERTEX], gl_max); @@ -57,7 +57,7 @@ index 5a5a1612a5..fe85fab216 100644 } if (gl_info->supported[ARB_TESSELLATION_SHADER]) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 84899be004..5dc5c98982 100644 +index f88e2e92f09..b9042196493 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -138,6 +138,10 @@ struct shader_glsl_priv @@ -318,9 +318,9 @@ index 84899be004..5dc5c98982 100644 return WINED3D_OK; fail: -@@ -11291,6 +11404,13 @@ static void shader_glsl_free(struct wined3d_device *device) - priv->fragment_pipe->free_private(device); - priv->vertex_pipe->vp_free(device); +@@ -11291,6 +11404,13 @@ static void shader_glsl_free(struct wined3d_device *device, struct wined3d_conte + priv->fragment_pipe->free_private(device, context); + priv->vertex_pipe->vp_free(device, context); + if (priv->ubo_vs_c != -1) + { @@ -333,7 +333,7 @@ index 84899be004..5dc5c98982 100644 device->shader_priv = NULL; } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 2db4a3cbc2..e34b6548cd 100644 +index 72f4f63695c..7eda21191d5 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -764,6 +764,8 @@ static BOOL shader_record_register_usage(struct wined3d_shader *shader, struct w @@ -346,7 +346,7 @@ index 2db4a3cbc2..e34b6548cd 100644 } } diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 3af60e1351..d84b42d2ea 100644 +index 2e728d78619..94227209035 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -4392,6 +4392,11 @@ static void state_cb(struct wined3d_context *context, const struct wined3d_state @@ -362,7 +362,7 @@ index 3af60e1351..d84b42d2ea 100644 if (STATE_IS_GRAPHICS_CONSTANT_BUFFER(state_id)) shader_type = state_id - STATE_GRAPHICS_CONSTANT_BUFFER(0); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 152a78cbf9..faf4be0ab1 100644 +index bd71bdb7b07..99d6e242aba 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1055,6 +1055,7 @@ struct wined3d_shader_reg_maps @@ -382,7 +382,7 @@ index 152a78cbf9..faf4be0ab1 100644 UINT arb_vs_float_constants; UINT arb_vs_native_constants; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 6d977a6179..1a541bed46 100644 +index 765a92dac2e..64c9473e774 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -1348,6 +1348,7 @@ enum wined3d_shader_type diff --git a/patches/ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch b/patches/ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch index 4ea99517..8e1fe87e 100644 --- a/patches/ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch +++ b/patches/ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch @@ -1,4 +1,4 @@ -From 3c9640222b7b6e5bfbb067911171761b4062143e Mon Sep 17 00:00:00 2001 +From 4b387117f10718d3796709bb6851fd8c46898f25 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 16 Jan 2014 19:08:30 -0700 Subject: [PATCH] ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile. @@ -12,10 +12,10 @@ Subject: [PATCH] ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile. 5 files changed, 74 insertions(+), 10 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c -index 07f812b2391..c1cc4c6e209 100644 +index 9a720458a22..00c47151e16 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c -@@ -3084,6 +3084,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws +@@ -3092,6 +3092,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws if (status != STATUS_SUCCESS) return status; @@ -33,7 +33,7 @@ index 07f812b2391..c1cc4c6e209 100644 if (wsa->flags & TF_DISCONNECT) { /* we can't use WS_closesocket because it modifies the last error */ -@@ -3126,7 +3137,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD +@@ -3134,7 +3145,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers, DWORD flags ) { @@ -43,10 +43,10 @@ index 07f812b2391..c1cc4c6e209 100644 socklen_t uaddrlen = sizeof(uaddr); struct ws2_transmitfile_async *wsa; diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c -index 134bb9625a6..c40e277687e 100644 +index bcbc56bcb1e..ad80f1614e5 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c -@@ -9069,7 +9069,6 @@ static void test_TransmitFile(void) +@@ -9099,7 +9099,6 @@ static void test_TransmitFile(void) err, WSAENOTSOCK); /* Test TransmitFile with a UDP datagram socket */ @@ -67,10 +67,10 @@ index 789e1da8172..86ce4ffcf05 100644 #define FD_WINE_NONBLOCKING 0x20000000 #define FD_WINE_CONNECTED 0x40000000 diff --git a/server/protocol.def b/server/protocol.def -index 8afe8e11435..614ab91ae7d 100644 +index a001556ca10..89487916d0b 100644 --- a/server/protocol.def +++ b/server/protocol.def -@@ -1369,6 +1369,12 @@ enum server_fd_type +@@ -1378,6 +1378,12 @@ enum server_fd_type @END @@ -84,7 +84,7 @@ index 8afe8e11435..614ab91ae7d 100644 @REQ(set_socket_event) obj_handle_t handle; /* handle to the socket */ diff --git a/server/sock.c b/server/sock.c -index 48ef19b4fbd..d95e847fd6b 100644 +index 44874fa55c4..fea7bd1f275 100644 --- a/server/sock.c +++ b/server/sock.c @@ -86,6 +86,7 @@ @@ -106,7 +106,7 @@ index 48ef19b4fbd..d95e847fd6b 100644 @@ -155,7 +157,7 @@ static const struct object_ops sock_ops = NULL, /* unlink_name */ no_open_file, /* open_file */ - no_alloc_handle, /* alloc_handle */ + no_kernel_obj_list, /* get_kernel_obj_list */ - fd_close_handle, /* close_handle */ + sock_close_handle, /* close_handle */ sock_destroy /* destroy */ @@ -194,5 +194,5 @@ index 48ef19b4fbd..d95e847fd6b 100644 DECL_HANDLER(set_socket_event) { -- -2.19.1 +2.20.1 diff --git a/patches/ws2_32-TransmitFile/definition b/patches/ws2_32-TransmitFile/definition index dde30b29..f5bdddd2 100644 --- a/patches/ws2_32-TransmitFile/definition +++ b/patches/ws2_32-TransmitFile/definition @@ -1,2 +1,2 @@ # Fixes: [5048] Support for TransmitFile -Depends: server-Desktop_Refcount +#Depends: server-Desktop_Refcount diff --git a/patches/ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch b/patches/ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch index 0fef2c8e..d4969bd9 100644 --- a/patches/ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch +++ b/patches/ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch @@ -118,7 +118,7 @@ index 84f54f6..9ad4e87 100644 + unsigned int index = 0; + obj_handle_t sock; + -+ while ((sock = enumerate_handles(current->process, &sock_ops, &index, NULL))) ++ while ((sock = enumerate_handles(current->process, &sock_ops, &index))) + close_handle(current->process, sock); +} -- diff --git a/patches/ws2_32-WSACleanup/definition b/patches/ws2_32-WSACleanup/definition index 1a0400a7..2bfe0a57 100644 --- a/patches/ws2_32-WSACleanup/definition +++ b/patches/ws2_32-WSACleanup/definition @@ -1,2 +1,2 @@ Fixes: [18670] Properly close sockets when WSACleanup is called -Depends: server-Desktop_Refcount +#Depends: server-Desktop_Refcount