diff --git a/README.md b/README.md index 7013b3e2..cba4db95 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,6 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [1]:** - -* Properly inherit debug_children flag in wineserver - - **Bug fixes and features in Wine Staging 1.7.50 [242]:** *Note: The following list only contains features and bug fixes which are not @@ -285,7 +280,7 @@ for more details.* * Use NVX_GPU_MEMORY_INFO extension for more exact video memory accounting on NVIDIA graphic cards * Use POSIX implementation to enumerate directory content on FreeBSD ([Wine Bug #35397](https://bugs.winehq.org/show_bug.cgi?id=35397)) * Use actual program name if available to describe PulseAudio streams -* Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject ([Wine Bug #39127](https://bugs.winehq.org/show_bug.cgi?id=39127)) +* ~~Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject~~ ([Wine Bug #39127](https://bugs.winehq.org/show_bug.cgi?id=39127)) * Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033)) * Use video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906)) * Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384)) diff --git a/debian/changelog b/debian/changelog index 7baaa0b5..89a0c3f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,13 @@ wine-staging (1.7.51) UNRELEASED; urgency=low * Added patch to fix bug in wineserver debug_children inheritance (fixes Wine Staging Bug #525). + * Removed patch to fix bug in wineserver debug_children inheritance (accepted + upstream). + * Removed patch to use helper function for NtWaitForMultipleObjects and + NtWaitForSingleObject (accepted upstream). + * Removed patch to fix test failure in kernel32/thread tests (fixed upstream). + * Removed patch to use request->server->name when processing cookies + (identical patch accepted upstream). -- Sebastian Lackner Mon, 24 Aug 2015 07:55:18 +0200 wine-staging (1.7.50) unstable; urgency=low diff --git a/patches/kernel32-Fix_Testfailure/0001-kernel32-tests-Properly-initialize-buf-before-callin.patch b/patches/kernel32-Fix_Testfailure/0001-kernel32-tests-Properly-initialize-buf-before-callin.patch deleted file mode 100644 index e607e319..00000000 --- a/patches/kernel32-Fix_Testfailure/0001-kernel32-tests-Properly-initialize-buf-before-callin.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 150188795c58473879e1047352e28ac3c8f69799 Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sat, 22 Aug 2015 06:07:26 +0200 -Subject: kernel32/tests: Properly initialize buf before calling - NtQueryInformationThread. - ---- - dlls/kernel32/tests/thread.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c -index 0d1f4a6..561dd53 100644 ---- a/dlls/kernel32/tests/thread.c -+++ b/dlls/kernel32/tests/thread.c -@@ -1742,7 +1742,8 @@ static void test_thread_info(void) - size = info_size[i]; - if (!size) size = sizeof(buf); - ret_len = 0; -- status = pNtQueryInformationThread(thread, i, buf, info_size[i], &ret_len); -+ memset(buf, 0, size); -+ status = pNtQueryInformationThread(thread, i, buf, size, &ret_len); - if (status == STATUS_NOT_IMPLEMENTED) continue; - if (status == STATUS_INVALID_INFO_CLASS) continue; - if (status == STATUS_UNSUCCESSFUL) continue; --- -2.5.0 - diff --git a/patches/ntdll-NtWaitForMultipleObjects/0001-ntdll-Use-helper-function-for-NtWaitForMultipleObjec.patch b/patches/ntdll-NtWaitForMultipleObjects/0001-ntdll-Use-helper-function-for-NtWaitForMultipleObjec.patch deleted file mode 100644 index 60b2be8b..00000000 --- a/patches/ntdll-NtWaitForMultipleObjects/0001-ntdll-Use-helper-function-for-NtWaitForMultipleObjec.patch +++ /dev/null @@ -1,57 +0,0 @@ -From d9ce312996674d62b417615d50b9fd035063240b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 21 Aug 2015 06:33:49 +0200 -Subject: ntdll: Use helper function for NtWaitForMultipleObjects and - NtWaitForSingleObject. - ---- - dlls/ntdll/sync.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c -index b0329ab..9773382 100644 ---- a/dlls/ntdll/sync.c -+++ b/dlls/ntdll/sync.c -@@ -990,12 +990,9 @@ NTSTATUS WINAPI NtSetTimerResolution(IN ULONG resolution, - - /* wait operations */ - --/****************************************************************** -- * NtWaitForMultipleObjects (NTDLL.@) -- */ --NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles, -- BOOLEAN wait_any, BOOLEAN alertable, -- const LARGE_INTEGER *timeout ) -+static inline NTSTATUS wait_objects( DWORD count, const HANDLE *handles, -+ BOOLEAN wait_any, BOOLEAN alertable, -+ const LARGE_INTEGER *timeout ) - { - select_op_t select_op; - UINT i, flags = SELECT_INTERRUPTIBLE; -@@ -1010,11 +1007,22 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles, - - - /****************************************************************** -+ * NtWaitForMultipleObjects (NTDLL.@) -+ */ -+NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles, -+ BOOLEAN wait_any, BOOLEAN alertable, -+ const LARGE_INTEGER *timeout ) -+{ -+ return wait_objects( count, handles, wait_any, alertable, timeout ); -+} -+ -+ -+/****************************************************************** - * NtWaitForSingleObject (NTDLL.@) - */ - NTSTATUS WINAPI NtWaitForSingleObject(HANDLE handle, BOOLEAN alertable, const LARGE_INTEGER *timeout ) - { -- return NtWaitForMultipleObjects( 1, &handle, FALSE, alertable, timeout ); -+ return wait_objects( 1, &handle, FALSE, alertable, timeout ); - } - - --- -2.5.0 - diff --git a/patches/ntdll-NtWaitForMultipleObjects/definition b/patches/ntdll-NtWaitForMultipleObjects/definition deleted file mode 100644 index ff406007..00000000 --- a/patches/ntdll-NtWaitForMultipleObjects/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [39127] Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 794e2818..0211f52a 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -55,7 +55,7 @@ version() echo "Copyright (C) 2014-2015 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" - echo " commit 5ccc463a4e3ba181b96a161c3c8cd4bc0cb0e607" + echo " commit 6038e2ab7957b65dd2e13ddd414c206718fb14b7" echo "" } @@ -138,7 +138,6 @@ patch_enable_all () enable_iphlpapi_TCP_Table="$1" enable_kernel32_CompareStringEx="$1" enable_kernel32_CopyFileEx="$1" - enable_kernel32_Fix_Testfailure="$1" enable_kernel32_GetFinalPathNameByHandle="$1" enable_kernel32_GetLogicalProcessorInformationEx="$1" enable_kernel32_LocaleNameToLCID="$1" @@ -184,7 +183,6 @@ patch_enable_all () enable_ntdll_NtQueryEaFile="$1" enable_ntdll_NtQuerySection="$1" enable_ntdll_NtSetLdtEntries="$1" - enable_ntdll_NtWaitForMultipleObjects="$1" enable_ntdll_Pipe_SpecialCharacters="$1" enable_ntdll_RtlIpStringToAddress="$1" enable_ntdll_SystemRoot_Symlink="$1" @@ -212,7 +210,6 @@ patch_enable_all () enable_server_Address_List_Change="$1" enable_server_ClipCursor="$1" enable_server_CreateProcess_ACLs="$1" - enable_server_Debug_Inheritance="$1" enable_server_Delete_On_Close="$1" enable_server_FileEndOfFileInformation="$1" enable_server_File_Permissions="$1" @@ -507,9 +504,6 @@ patch_enable () kernel32-CopyFileEx) enable_kernel32_CopyFileEx="$2" ;; - kernel32-Fix_Testfailure) - enable_kernel32_Fix_Testfailure="$2" - ;; kernel32-GetFinalPathNameByHandle) enable_kernel32_GetFinalPathNameByHandle="$2" ;; @@ -645,9 +639,6 @@ patch_enable () ntdll-NtSetLdtEntries) enable_ntdll_NtSetLdtEntries="$2" ;; - ntdll-NtWaitForMultipleObjects) - enable_ntdll_NtWaitForMultipleObjects="$2" - ;; ntdll-Pipe_SpecialCharacters) enable_ntdll_Pipe_SpecialCharacters="$2" ;; @@ -729,9 +720,6 @@ patch_enable () server-CreateProcess_ACLs) enable_server_CreateProcess_ACLs="$2" ;; - server-Debug_Inheritance) - enable_server_Debug_Inheritance="$2" - ;; server-Delete_On_Close) enable_server_Delete_On_Close="$2" ;; @@ -3232,18 +3220,6 @@ if test "$enable_kernel32_CopyFileEx" -eq 1; then ) >> "$patchlist" fi -# Patchset kernel32-Fix_Testfailure -# | -# | Modified files: -# | * dlls/kernel32/tests/thread.c -# | -if test "$enable_kernel32_Fix_Testfailure" -eq 1; then - patch_apply kernel32-Fix_Testfailure/0001-kernel32-tests-Properly-initialize-buf-before-callin.patch - ( - echo '+ { "Sebastian Lackner", "kernel32/tests: Properly initialize buf before calling NtQueryInformationThread.", 1 },'; - ) >> "$patchlist" -fi - # Patchset kernel32-GetFinalPathNameByHandle # | # | This patchset fixes the following Wine bugs: @@ -3976,21 +3952,6 @@ if test "$enable_ntdll_NtSetLdtEntries" -eq 1; then ) >> "$patchlist" fi -# Patchset ntdll-NtWaitForMultipleObjects -# | -# | This patchset fixes the following Wine bugs: -# | * [#39127] Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject -# | -# | Modified files: -# | * dlls/ntdll/sync.c -# | -if test "$enable_ntdll_NtWaitForMultipleObjects" -eq 1; then - patch_apply ntdll-NtWaitForMultipleObjects/0001-ntdll-Use-helper-function-for-NtWaitForMultipleObjec.patch - ( - echo '+ { "Michael Müller", "ntdll: Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject.", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-Pipe_SpecialCharacters # | # | This patchset fixes the following Wine bugs: @@ -4462,18 +4423,6 @@ if test "$enable_server_ClipCursor" -eq 1; then ) >> "$patchlist" fi -# Patchset server-Debug_Inheritance -# | -# | Modified files: -# | * server/process.c -# | -if test "$enable_server_Debug_Inheritance" -eq 1; then - patch_apply server-Debug_Inheritance/0001-server-Properly-inherit-debug_children-flag.patch - ( - echo '+ { "Sebastian Lackner", "server: Properly inherit debug_children flag.", 1 },'; - ) >> "$patchlist" -fi - # Patchset server-Delete_On_Close # | # | This patchset fixes the following Wine bugs: @@ -6034,17 +5983,15 @@ if test "$enable_wininet_Cleanup" -eq 1; then patch_apply wininet-Cleanup/0001-wininet-tests-Add-more-tests-for-cookies.patch patch_apply wininet-Cleanup/0002-wininet-tests-Test-auth-credential-reusage-with-host.patch patch_apply wininet-Cleanup/0003-wininet-tests-Check-cookie-behaviour-when-overriding.patch - patch_apply wininet-Cleanup/0004-wininet-Use-request-server-name-when-processing-cook.patch - patch_apply wininet-Cleanup/0005-wininet-Delay-setting-the-http-host-header.patch - patch_apply wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-in-authen.patch - patch_apply wininet-Cleanup/0007-wininet-Use-request-server-canon_host_port-when-quer.patch - patch_apply wininet-Cleanup/0008-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch - patch_apply wininet-Cleanup/0009-wininet-Replacing-header-fields-should-fail-if-they-.patch + patch_apply wininet-Cleanup/0004-wininet-Delay-setting-the-http-host-header.patch + patch_apply wininet-Cleanup/0005-wininet-Use-request-server-canon_host_port-in-authen.patch + patch_apply wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-when-quer.patch + patch_apply wininet-Cleanup/0007-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch + patch_apply wininet-Cleanup/0008-wininet-Replacing-header-fields-should-fail-if-they-.patch ( echo '+ { "Michael Müller", "wininet/tests: Add more tests for cookies.", 1 },'; echo '+ { "Michael Müller", "wininet/tests: Test auth credential reusage with host override.", 1 },'; echo '+ { "Michael Müller", "wininet/tests: Check cookie behaviour when overriding host.", 1 },'; - echo '+ { "Michael Müller", "wininet: Use request->server->name when processing cookies instead of Host header field.", 1 },'; echo '+ { "Michael Müller", "wininet: Delay setting the http host header.", 1 },'; echo '+ { "Michael Müller", "wininet: Use request->server->canon_host_port in authentication process.", 1 },'; echo '+ { "Michael Müller", "wininet: Use request->server->canon_host_port when querying for INTERNET_OPTION_URL.", 1 },'; diff --git a/patches/server-CreateProcess_ACLs/0001-server-Support-for-thread-and-process-security-descr.patch b/patches/server-CreateProcess_ACLs/0001-server-Support-for-thread-and-process-security-descr.patch index 49bcc738..812f05ef 100644 --- a/patches/server-CreateProcess_ACLs/0001-server-Support-for-thread-and-process-security-descr.patch +++ b/patches/server-CreateProcess_ACLs/0001-server-Support-for-thread-and-process-security-descr.patch @@ -1,4 +1,4 @@ -From 0eecbf377f3e2f1457d09d532a6093743660f062 Mon Sep 17 00:00:00 2001 +From 0ff07b77e5658310d1e7a57b1b4b4b7591e3422c Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 15 Oct 2014 10:02:22 +0200 Subject: server: Support for thread and process security descriptors in @@ -14,7 +14,7 @@ Needs ./tools/make_requests 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c -index 0a087ab..4f0dee08 100644 +index b0c06e3..03f3bac 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -2042,6 +2042,8 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW @@ -27,10 +27,10 @@ index 0a087ab..4f0dee08 100644 wine_server_add_data( req, startup_info, startup_info_size ); wine_server_add_data( req, env, (env_end - env) * sizeof(WCHAR) ); diff --git a/server/process.c b/server/process.c -index 4a356b9..402aef0 100644 +index e00b429..d2b3c48 100644 --- a/server/process.c +++ b/server/process.c -@@ -880,6 +880,7 @@ DECL_HANDLER(new_process) +@@ -1083,6 +1083,7 @@ DECL_HANDLER(new_process) struct process *process; struct process *parent = current->process; int socket_fd = thread_get_inflight_fd( current, req->socket_fd ); @@ -38,7 +38,7 @@ index 4a356b9..402aef0 100644 if (socket_fd == -1) { -@@ -927,7 +928,7 @@ DECL_HANDLER(new_process) +@@ -1138,7 +1139,7 @@ DECL_HANDLER(new_process) goto done; } @@ -47,7 +47,7 @@ index 4a356b9..402aef0 100644 info->info_size = min( req->info_size, info->data_size ); if (req->info_size < sizeof(*info->data)) -@@ -968,6 +969,34 @@ DECL_HANDLER(new_process) +@@ -1179,6 +1180,34 @@ DECL_HANDLER(new_process) #undef FIXUP_LEN } @@ -81,8 +81,8 @@ index 4a356b9..402aef0 100644 + if (!(thread = create_process( socket_fd, current, req->inherit_all ))) goto done; process = thread->process; - process->debug_children = (req->create_flags & DEBUG_PROCESS) -@@ -1019,6 +1048,25 @@ DECL_HANDLER(new_process) + process->startup_info = (struct startup_info *)grab_object( info ); +@@ -1241,6 +1270,25 @@ DECL_HANDLER(new_process) reply->phandle = alloc_handle( parent, process, req->process_access, req->process_attr ); reply->thandle = alloc_handle( parent, thread, req->thread_access, req->thread_attr ); @@ -109,10 +109,10 @@ index 4a356b9..402aef0 100644 release_object( info ); } diff --git a/server/protocol.def b/server/protocol.def -index fc6bec5..37c5d87 100644 +index c313006..5f9461f 100644 --- a/server/protocol.def +++ b/server/protocol.def -@@ -671,8 +671,12 @@ struct rawinput_device +@@ -715,8 +715,12 @@ struct rawinput_device unsigned int thread_attr; /* attributes for thread object */ cpu_type_t cpu; /* CPU that the new process will use */ data_size_t info_size; /* size of startup info */ @@ -127,5 +127,5 @@ index fc6bec5..37c5d87 100644 obj_handle_t info; /* new process info handle */ process_id_t pid; /* process id */ -- -2.1.3 +2.5.0 diff --git a/patches/server-Debug_Inheritance/0001-server-Properly-inherit-debug_children-flag.patch b/patches/server-Debug_Inheritance/0001-server-Properly-inherit-debug_children-flag.patch deleted file mode 100644 index 543fd888..00000000 --- a/patches/server-Debug_Inheritance/0001-server-Properly-inherit-debug_children-flag.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 876a479a3c7697b863cedaabc610d3e2966b941e Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Mon, 24 Aug 2015 07:53:34 +0200 -Subject: server: Properly inherit debug_children flag. - ---- - server/process.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/server/process.c b/server/process.c -index a92821a..adbc10b 100644 ---- a/server/process.c -+++ b/server/process.c -@@ -1260,8 +1260,6 @@ DECL_HANDLER(new_process) - - if (!(thread = create_process( socket_fd, current, req->inherit_all ))) goto done; - process = thread->process; -- process->debug_children = (req->create_flags & DEBUG_PROCESS) -- && !(req->create_flags & DEBUG_ONLY_THIS_PROCESS); - process->startup_info = (struct startup_info *)grab_object( info ); - - if (parent->job -@@ -1302,9 +1300,17 @@ DECL_HANDLER(new_process) - - /* attach to the debugger if requested */ - if (req->create_flags & (DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS)) -+ { - set_process_debugger( process, current ); -+ process->debug_children = !(req->create_flags & DEBUG_ONLY_THIS_PROCESS); -+ } - else if (parent->debugger && parent->debug_children) -+ { - set_process_debugger( process, parent->debugger ); -+ process->debug_children = 1; -+ } -+ else -+ process->debug_children = 0; - - if (!(req->create_flags & CREATE_NEW_PROCESS_GROUP)) - process->group_id = parent->group_id; --- -2.5.0 - diff --git a/patches/server-Debug_Inheritance/definition b/patches/server-Debug_Inheritance/definition deleted file mode 100644 index fe104377..00000000 --- a/patches/server-Debug_Inheritance/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Properly inherit debug_children flag in wineserver diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index e3cf20b1..a5173793 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -1193,7 +1193,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c default: mat._14 = mat._24 = mat._34 = 0.0f; mat._44 = 1.0f; } -@@ -4316,7 +4335,11 @@ +@@ -4382,7 +4401,11 @@ unsigned int i; DWORD ttff; DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2; @@ -1264,7 +1264,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader shader_arb_ps_local_constants(compiled, context, state, rt_height); } -@@ -7827,7 +7835,11 @@ +@@ -7839,7 +7847,11 @@ /* Now load the surface */ if (wined3d_settings.offscreen_rendering_mode != ORM_FBO @@ -1276,7 +1276,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader == WINED3D_LOCATION_DRAWABLE && !wined3d_resource_is_offscreen(&src_surface->container->resource)) { -@@ -7857,6 +7869,7 @@ +@@ -7869,6 +7881,7 @@ /* Leave the opengl state valid for blitting */ arbfp_blit_unset(context->gl_info); @@ -1284,7 +1284,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader if (wined3d_settings.cs_multithreaded) context->gl_info->gl_ops.gl.p_glFinish(); else if (wined3d_settings.strict_draw_ordering -@@ -7868,6 +7881,17 @@ +@@ -7880,6 +7893,17 @@ wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding); wined3d_resource_invalidate_location(&dst_surface->resource, ~dst_surface->container->resource.draw_binding); @@ -4592,7 +4592,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -1548,9 +1548,17 @@ +@@ -1547,9 +1547,17 @@ const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv) { const struct wined3d_shader_version *version = ®_maps->shader_version; @@ -4610,7 +4610,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c unsigned int i, extra_constants_needed = 0; const struct wined3d_shader_lconst *lconst; const char *prefix; -@@ -1810,7 +1818,11 @@ +@@ -1809,7 +1817,11 @@ { UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input); @@ -4622,7 +4622,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c shader_addline(buffer, "varying vec4 %s_link[%u];\n", prefix, in_count); shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count); } -@@ -1851,6 +1863,7 @@ +@@ -1850,6 +1862,7 @@ } else { @@ -4630,7 +4630,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c /* This happens because we do not have proper tracking of the * constant registers that are actually used, only the max * limit of the shader version. -@@ -1859,6 +1872,23 @@ +@@ -1858,6 +1871,23 @@ * it and just create the uniform. */ FIXME("Cannot find a free uniform for vpos correction params\n"); @@ -5588,7 +5588,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c + + if (op->set) + { -+ switch (op->flags & ~WINED3D_CKEY_COLORSPACE) ++ switch (op->flags) + { + case WINED3D_CKEY_DST_BLT: + texture->async.dst_blt_color_key = op->color_key; @@ -5620,7 +5620,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c + } + else + { -+ switch (op->flags & ~WINED3D_CKEY_COLORSPACE) ++ switch (op->flags) + { + case WINED3D_CKEY_DST_BLT: + texture->async.color_key_flags &= ~WINED3D_CKEY_DST_BLT; @@ -6076,7 +6076,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c texture->lod = lod; texture->texture_rgb.base_level = ~0u; -@@ -602,6 +632,7 @@ +@@ -596,6 +626,7 @@ return WINED3DERR_INVALIDCALL; } @@ -6084,7 +6084,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c /* if (wined3d_settings.cs_multithreaded) { -@@ -610,6 +641,7 @@ +@@ -604,6 +635,7 @@ } */ @@ -6092,7 +6092,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c wined3d_cs_emit_set_color_key(device->cs, texture, flags, color_key); return WINED3D_OK; -@@ -665,10 +697,14 @@ +@@ -659,10 +691,14 @@ } if (device->d3d_initialized) @@ -6107,7 +6107,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c texture->resource.format = format; texture->resource.multisample_type = multisample_type; -@@ -794,6 +830,7 @@ +@@ -788,6 +824,7 @@ static void texture2d_sub_resource_load(struct wined3d_resource *sub_resource, struct wined3d_context *context, BOOL srgb) { @@ -6115,7 +6115,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c surface_load(surface_from_resource(sub_resource), context, srgb); } -@@ -808,6 +845,19 @@ +@@ -802,6 +839,19 @@ wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding); context_release(context); wined3d_resource_invalidate_location(&surface->resource, ~surface->resource.map_binding); @@ -6135,7 +6135,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c } static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource) -@@ -819,12 +869,25 @@ +@@ -813,12 +863,25 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location) { @@ -6161,7 +6161,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c } static void texture2d_sub_resource_upload_data(struct wined3d_resource *sub_resource, -@@ -903,6 +966,7 @@ +@@ -897,6 +960,7 @@ if (gl_info->supported[APPLE_CLIENT_STORAGE]) { @@ -6169,7 +6169,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c if (surface->flags & (SFLAG_NONPOW2) || texture->flags & WINED3D_TEXTURE_CONVERTED) { -@@ -911,12 +975,26 @@ +@@ -905,12 +969,26 @@ * WINED3D_TEXTURE_CONVERTED: The conversion destination memory is freed after loading the surface * heap_memory == NULL: Not defined in the extension. Seems to disable client storage effectively */ @@ -6196,7 +6196,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c surface->flags |= SFLAG_CLIENT; mem = surface->resource.heap_memory; -@@ -986,6 +1064,7 @@ +@@ -980,6 +1058,7 @@ wined3d_texture_unload_gl_texture(texture); } @@ -6204,7 +6204,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c static void wined3d_texture_load_location_invalidated(struct wined3d_resource *resource, DWORD location) { ERR("Should not be called on textures.\n"); -@@ -1005,6 +1084,13 @@ +@@ -999,6 +1078,13 @@ wined3d_texture_unload, wined3d_texture_load_location_invalidated, wined3d_texture_load_location, @@ -6218,7 +6218,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c }; static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc, -@@ -1021,7 +1107,9 @@ +@@ -1015,7 +1101,9 @@ if (WINED3DFMT_UNKNOWN >= desc->format) { WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture); @@ -6228,7 +6228,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } -@@ -1031,6 +1119,7 @@ +@@ -1025,6 +1113,7 @@ if (!gl_info->supported[SGIS_GENERATE_MIPMAP]) { WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n"); @@ -6236,7 +6236,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c HeapFree(GetProcessHeap(), 0, texture); return WINED3DERR_INVALIDCALL; } -@@ -1039,6 +1128,14 @@ +@@ -1033,6 +1122,14 @@ { WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n"); HeapFree(GetProcessHeap(), 0, texture); @@ -6251,7 +6251,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1059,7 +1156,9 @@ +@@ -1053,7 +1150,9 @@ else { WARN("Attempted to create a NPOT cube texture (edge length %u) without GL support.\n", desc->width); @@ -6261,7 +6261,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1069,7 +1168,9 @@ +@@ -1063,7 +1162,9 @@ surface_flags, device, parent, parent_ops, &texture_resource_ops))) { WARN("Failed to initialize texture, returning %#x\n", hr); @@ -6271,7 +6271,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return hr; } -@@ -1132,7 +1233,9 @@ +@@ -1126,7 +1227,9 @@ if (WINED3DFMT_UNKNOWN >= desc->format) { WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture); @@ -6281,7 +6281,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } -@@ -1163,7 +1266,9 @@ +@@ -1157,7 +1260,9 @@ else { WARN("Attempted to create a mipmapped NPOT texture without unconditional NPOT support.\n"); @@ -6291,7 +6291,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1176,6 +1281,7 @@ +@@ -1170,6 +1275,7 @@ if (!gl_info->supported[SGIS_GENERATE_MIPMAP]) { WARN("No mipmap generation support, returning WINED3DERR_INVALIDCALL.\n"); @@ -6299,7 +6299,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c HeapFree(GetProcessHeap(), 0, texture); return WINED3DERR_INVALIDCALL; } -@@ -1184,6 +1290,14 @@ +@@ -1178,6 +1284,14 @@ { WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning WINED3DERR_INVALIDCALL.\n"); HeapFree(GetProcessHeap(), 0, texture); @@ -6314,7 +6314,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1192,7 +1306,9 @@ +@@ -1186,7 +1300,9 @@ surface_flags, device, parent, parent_ops, &texture_resource_ops))) { WARN("Failed to initialize texture, returning %#x.\n", hr); @@ -6324,7 +6324,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return hr; } -@@ -1278,12 +1394,25 @@ +@@ -1272,12 +1388,25 @@ static void texture3d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location) { @@ -6350,7 +6350,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c } static void texture3d_sub_resource_upload_data(struct wined3d_resource *sub_resource, -@@ -1293,7 +1422,11 @@ +@@ -1287,7 +1416,11 @@ struct wined3d_const_bo_address addr; unsigned int row_pitch, slice_pitch; @@ -6362,7 +6362,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c if (row_pitch != data->row_pitch || slice_pitch != data->slice_pitch) FIXME("Ignoring row/slice pitch (%u/%u).\n", data->row_pitch, data->slice_pitch); -@@ -1318,7 +1451,11 @@ +@@ -1312,7 +1445,11 @@ void *mem = NULL; if (gl_info->supported[APPLE_CLIENT_STORAGE] && !format->convert @@ -6374,7 +6374,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c { TRACE("Enabling GL_UNPACK_CLIENT_STORAGE_APPLE for volume %p\n", volume); gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE); -@@ -1365,6 +1502,7 @@ +@@ -1359,6 +1496,7 @@ if (WINED3DFMT_UNKNOWN >= desc->format) { WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture); @@ -6382,7 +6382,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c HeapFree(GetProcessHeap(), 0, texture); return WINED3DERR_INVALIDCALL; } -@@ -1373,6 +1511,14 @@ +@@ -1367,6 +1505,14 @@ { WARN("(%p) : Texture cannot be created - no volume texture support.\n", texture); HeapFree(GetProcessHeap(), 0, texture); @@ -6397,7 +6397,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } -@@ -1382,6 +1528,7 @@ +@@ -1376,6 +1522,7 @@ if (!gl_info->supported[SGIS_GENERATE_MIPMAP]) { WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n"); @@ -6405,7 +6405,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c HeapFree(GetProcessHeap(), 0, texture); return WINED3DERR_INVALIDCALL; } -@@ -1390,6 +1537,14 @@ +@@ -1384,6 +1531,14 @@ { WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n"); HeapFree(GetProcessHeap(), 0, texture); @@ -6420,7 +6420,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1417,7 +1572,9 @@ +@@ -1411,7 +1566,9 @@ { WARN("Attempted to create a NPOT volume texture (%u, %u, %u) without GL support.\n", desc->width, desc->height, desc->depth); @@ -6430,7 +6430,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return WINED3DERR_INVALIDCALL; } } -@@ -1427,7 +1584,9 @@ +@@ -1421,7 +1578,9 @@ 0, device, parent, parent_ops, &texture_resource_ops))) { WARN("Failed to initialize texture, returning %#x.\n", hr); @@ -6440,7 +6440,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c return hr; } -@@ -1504,6 +1663,9 @@ +@@ -1498,6 +1657,9 @@ if (FAILED(hr)) { WARN("Failed to initialize texture, returning %#x.\n", hr); diff --git a/patches/wininet-Cleanup/0005-wininet-Delay-setting-the-http-host-header.patch b/patches/wininet-Cleanup/0004-wininet-Delay-setting-the-http-host-header.patch similarity index 100% rename from patches/wininet-Cleanup/0005-wininet-Delay-setting-the-http-host-header.patch rename to patches/wininet-Cleanup/0004-wininet-Delay-setting-the-http-host-header.patch diff --git a/patches/wininet-Cleanup/0004-wininet-Use-request-server-name-when-processing-cook.patch b/patches/wininet-Cleanup/0004-wininet-Use-request-server-name-when-processing-cook.patch deleted file mode 100644 index 42a2bb32..00000000 --- a/patches/wininet-Cleanup/0004-wininet-Use-request-server-name-when-processing-cook.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d3936900b7650ff24b116c48457861ea3b78eef4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Sat, 16 May 2015 01:34:22 +0200 -Subject: wininet: Use request->server->name when processing cookies instead of - Host header field. - ---- - dlls/wininet/http.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c -index 45183cf..3539dc8 100644 ---- a/dlls/wininet/http.c -+++ b/dlls/wininet/http.c -@@ -765,7 +765,6 @@ static void HTTP_ProcessCookies( http_request_t *request ) - - while((HeaderIndex = HTTP_GetCustomHeaderIndex(request, szSet_Cookie, numCookies++, FALSE)) != -1) - { -- HTTPHEADERW *host; - const WCHAR *data; - WCHAR *name; - -@@ -774,10 +773,6 @@ static void HTTP_ProcessCookies( http_request_t *request ) - if (!setCookieHeader->lpszValue) - continue; - -- host = HTTP_GetHeader(request, hostW); -- if(!host) -- continue; -- - data = strchrW(setCookieHeader->lpszValue, '='); - if(!data) - continue; -@@ -787,7 +782,7 @@ static void HTTP_ProcessCookies( http_request_t *request ) - continue; - - data++; -- set_cookie(host->lpszValue, request->path, name, data, INTERNET_COOKIE_HTTPONLY); -+ set_cookie(request->server->name, request->path, name, data, INTERNET_COOKIE_HTTPONLY); - heap_free(name); - } - --- -2.4.0 - diff --git a/patches/wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-in-authen.patch b/patches/wininet-Cleanup/0005-wininet-Use-request-server-canon_host_port-in-authen.patch similarity index 100% rename from patches/wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-in-authen.patch rename to patches/wininet-Cleanup/0005-wininet-Use-request-server-canon_host_port-in-authen.patch diff --git a/patches/wininet-Cleanup/0007-wininet-Use-request-server-canon_host_port-when-quer.patch b/patches/wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-when-quer.patch similarity index 100% rename from patches/wininet-Cleanup/0007-wininet-Use-request-server-canon_host_port-when-quer.patch rename to patches/wininet-Cleanup/0006-wininet-Use-request-server-canon_host_port-when-quer.patch diff --git a/patches/wininet-Cleanup/0008-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch b/patches/wininet-Cleanup/0007-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch similarity index 100% rename from patches/wininet-Cleanup/0008-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch rename to patches/wininet-Cleanup/0007-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch diff --git a/patches/wininet-Cleanup/0009-wininet-Replacing-header-fields-should-fail-if-they-.patch b/patches/wininet-Cleanup/0008-wininet-Replacing-header-fields-should-fail-if-they-.patch similarity index 100% rename from patches/wininet-Cleanup/0009-wininet-Replacing-header-fields-should-fail-if-they-.patch rename to patches/wininet-Cleanup/0008-wininet-Replacing-header-fields-should-fail-if-they-.patch