Rebase against 6038e2ab7957b65dd2e13ddd414c206718fb14b7.

This commit is contained in:
Sebastian Lackner 2015-08-24 15:40:06 +02:00
parent ddb4ddd749
commit f73de49f9f
16 changed files with 65 additions and 290 deletions

View File

@ -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))

7
debian/changelog vendored
View File

@ -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 <sebastian@fds-team.de> Mon, 24 Aug 2015 07:55:18 +0200
wine-staging (1.7.50) unstable; urgency=low

View File

@ -1,27 +0,0 @@
From 150188795c58473879e1047352e28ac3c8f69799 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
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

View File

@ -1,57 +0,0 @@
From d9ce312996674d62b417615d50b9fd035063240b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
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

View File

@ -1 +0,0 @@
Fixes: [39127] Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject

View File

@ -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 },';

View File

@ -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 <sebastian@fds-team.de>
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

View File

@ -1,43 +0,0 @@
From 876a479a3c7697b863cedaabc610d3e2966b941e Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
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

View File

@ -1 +0,0 @@
Fixes: Properly inherit debug_children flag in wineserver

View File

@ -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 = &reg_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);

View File

@ -1,45 +0,0 @@
From d3936900b7650ff24b116c48457861ea3b78eef4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
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