mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 829170f3d6b875f7a6f065072cc3334a20ff805e
This commit is contained in:
parent
0d4d90ee80
commit
a02caca06d
@ -1,32 +0,0 @@
|
||||
From 21028049055c1f65d72baf685ad9464187aada25 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
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
|
||||
|
@ -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.
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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 <z.figura12@gmail.com>
|
||||
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 <z.figura12@gmail.com>
|
||||
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*);
|
||||
|
@ -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
|
||||
# |
|
||||
|
@ -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
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 8900fa2361ec0fc9b22fd071a1c5d8cd5b7ffdbf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= <nerv@dawncrow.de>
|
||||
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
|
||||
|
@ -1,81 +0,0 @@
|
||||
From 70241b0a4b7eadff9b2baeced34186b59e3dc53a Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 29 Jan 2019 09:04:27 +1100
|
||||
Subject: [PATCH] urlmon/tests: Add FTP encoded url test
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
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
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [26445] urlmon: Use unescaped Urls for FTP actions
|
@ -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 <gofmanp@gmail.com>
|
||||
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 <gofmanp@gmail.com>
|
||||
---
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Paul Gofman <gofmanp@gmail.com>
|
||||
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());
|
||||
}
|
||||
|
||||
|
@ -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 <gofmanp@gmail.com>
|
||||
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 <gofmanp@gmail.com>
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Paul Gofman <gofmanp@gmail.com>
|
||||
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
|
||||
|
@ -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" <erich.e.hoover@gmail.com>
|
||||
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
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
# Fixes: [5048] Support for TransmitFile
|
||||
Depends: server-Desktop_Refcount
|
||||
#Depends: server-Desktop_Refcount
|
||||
|
@ -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);
|
||||
+}
|
||||
--
|
||||
|
@ -1,2 +1,2 @@
|
||||
Fixes: [18670] Properly close sockets when WSACleanup is called
|
||||
Depends: server-Desktop_Refcount
|
||||
#Depends: server-Desktop_Refcount
|
||||
|
Loading…
Reference in New Issue
Block a user