You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against 20ff3352eb19292d47eaa8f3aecc61523ac1f1d9.
This commit is contained in:
@@ -244,7 +244,7 @@ for more details.*
|
||||
* ~~RegOpenKeyExA, RegCloseKey and RegQueryValueExA should be hotpatchable~~
|
||||
* Report correct ObjectName for NamedPipe wineserver objects
|
||||
* Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory
|
||||
* Return a dummy BIOS name in Win32_BIOS record
|
||||
* ~~Return a dummy BIOS name in Win32_BIOS record~~
|
||||
* Return a valid mesh in D3DXCreateTeapot ([Wine Bug #36884](https://bugs.winehq.org/show_bug.cgi?id=36884))
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz
|
||||
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@@ -20,6 +20,8 @@ wine-staging (1.7.53) UNRELEASED; urgency=low
|
||||
(fixed upstream).
|
||||
* Removed patch to add support for /passive command line option to msiexec
|
||||
(fixed upstream).
|
||||
* Removed patch to return a dummy BIOS name in Win32_BIOS (accepted upstream).
|
||||
* Partially removed patches for ws2_32 TransmitFile (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 04 Oct 2015 23:56:05 +0200
|
||||
|
||||
wine-staging (1.7.52) unstable; urgency=low
|
||||
|
@@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "1d1487105d4d3a9133f0846d32363a0432812d0c"
|
||||
echo "20ff3352eb19292d47eaa8f3aecc61523ac1f1d9"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@@ -280,7 +280,6 @@ patch_enable_all ()
|
||||
enable_uxtheme_GTK_Theming="$1"
|
||||
enable_version_VerQueryValue="$1"
|
||||
enable_wbemdisp_ISWbemSecurity="$1"
|
||||
enable_wbemprox_Bios_Name="$1"
|
||||
enable_wiaservc_IEnumWIA_DEV_INFO="$1"
|
||||
enable_wine_inf_Performance="$1"
|
||||
enable_wine_inf_ProfileList_UserSID="$1"
|
||||
@@ -936,9 +935,6 @@ patch_enable ()
|
||||
wbemdisp-ISWbemSecurity)
|
||||
enable_wbemdisp_ISWbemSecurity="$2"
|
||||
;;
|
||||
wbemprox-Bios_Name)
|
||||
enable_wbemprox_Bios_Name="$2"
|
||||
;;
|
||||
wiaservc-IEnumWIA_DEV_INFO)
|
||||
enable_wiaservc_IEnumWIA_DEV_INFO="$2"
|
||||
;;
|
||||
@@ -5439,18 +5435,6 @@ if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wbemprox-Bios_Name
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wbemprox/builtin.c
|
||||
# |
|
||||
if test "$enable_wbemprox_Bios_Name" -eq 1; then
|
||||
patch_apply wbemprox-Bios_Name/0001-wbemprox-Set-bios-name-in-Win32_BIOS.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "wbemprox: Set bios name in Win32_BIOS.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wiaservc-IEnumWIA_DEV_INFO
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -6474,16 +6458,12 @@ fi
|
||||
# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/winsock.h, server/protocol.def, server/sock.c
|
||||
# |
|
||||
if test "$enable_ws2_32_TransmitFile" -eq 1; then
|
||||
patch_apply ws2_32-TransmitFile/0001-ws2_32-Add-stub-for-TransmitFile.patch
|
||||
patch_apply ws2_32-TransmitFile/0002-ws2_32-Check-for-invalid-parameters-in-TransmitFile.patch
|
||||
patch_apply ws2_32-TransmitFile/0003-ws2_32-Implement-a-basic-synchronous-TransmitFile.-r.patch
|
||||
patch_apply ws2_32-TransmitFile/0004-ws2_32-Add-support-for-TransmitFile-headers-and-foot.patch
|
||||
patch_apply ws2_32-TransmitFile/0005-ws2_32-Add-asynchronous-support-for-TransmitFile.-re.patch
|
||||
patch_apply ws2_32-TransmitFile/0006-ws2_32-Add-support-for-TF_DISCONNECT-to-TransmitFile.patch
|
||||
patch_apply ws2_32-TransmitFile/0007-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch
|
||||
patch_apply ws2_32-TransmitFile/0001-ws2_32-Implement-a-basic-synchronous-TransmitFile.-r.patch
|
||||
patch_apply ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TransmitFile-headers-and-foot.patch
|
||||
patch_apply ws2_32-TransmitFile/0003-ws2_32-Add-asynchronous-support-for-TransmitFile.-re.patch
|
||||
patch_apply ws2_32-TransmitFile/0004-ws2_32-Add-support-for-TF_DISCONNECT-to-TransmitFile.patch
|
||||
patch_apply ws2_32-TransmitFile/0005-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "ws2_32: Add stub for TransmitFile.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "ws2_32: Check for invalid parameters in TransmitFile.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "ws2_32: Implement a basic synchronous TransmitFile.", 2 },';
|
||||
echo '+ { "Erich E. Hoover", "ws2_32: Add support for TransmitFile headers and footers.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "ws2_32: Add asynchronous support for TransmitFile.", 2 },';
|
||||
|
@@ -1,52 +0,0 @@
|
||||
From d72d7f4a70a9715458b4cbd60c5a951e74770448 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 27 Aug 2015 01:55:42 +0200
|
||||
Subject: wbemprox: Set bios name in Win32_BIOS.
|
||||
|
||||
---
|
||||
dlls/wbemprox/builtin.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
|
||||
index 1c960eb..8f51453 100644
|
||||
--- a/dlls/wbemprox/builtin.c
|
||||
+++ b/dlls/wbemprox/builtin.c
|
||||
@@ -377,7 +377,8 @@ static const struct column col_bios[] =
|
||||
{ prop_releasedateW, CIM_DATETIME },
|
||||
{ prop_serialnumberW, CIM_STRING },
|
||||
{ prop_smbiosbiosversionW, CIM_STRING },
|
||||
- { prop_versionW, CIM_STRING|COL_FLAG_KEY }
|
||||
+ { prop_versionW, CIM_STRING|COL_FLAG_KEY },
|
||||
+ { prop_nameW, CIM_STRING }
|
||||
};
|
||||
static const struct column col_cdromdrive[] =
|
||||
{
|
||||
@@ -666,6 +667,8 @@ static const WCHAR bios_smbiosbiosversionW[] =
|
||||
{'W','i','n','e',0};
|
||||
static const WCHAR bios_versionW[] =
|
||||
{'W','I','N','E',' ',' ',' ','-',' ','1',0};
|
||||
+static const WCHAR bios_nameW[] =
|
||||
+ {'W','I','N','E',' ','B','I','O','S',0};
|
||||
static const WCHAR cdromdrive_mediatypeW[] =
|
||||
{'C','D','-','R','O','M',0};
|
||||
static const WCHAR cdromdrive_nameW[] =
|
||||
@@ -765,6 +768,7 @@ struct record_bios
|
||||
const WCHAR *serialnumber;
|
||||
const WCHAR *smbiosbiosversion;
|
||||
const WCHAR *version;
|
||||
+ const WCHAR *name;
|
||||
};
|
||||
struct record_cdromdrive
|
||||
{
|
||||
@@ -1041,7 +1045,7 @@ static const struct record_baseboard data_baseboard[] =
|
||||
static const struct record_bios data_bios[] =
|
||||
{
|
||||
{ bios_descriptionW, bios_descriptionW, bios_manufacturerW, bios_releasedateW, bios_serialnumberW,
|
||||
- bios_smbiosbiosversionW, bios_versionW }
|
||||
+ bios_smbiosbiosversionW, bios_versionW, bios_nameW }
|
||||
};
|
||||
static const struct record_computersystemproduct data_compsysproduct[] =
|
||||
{
|
||||
--
|
||||
2.5.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: Return a dummy BIOS name in Win32_BIOS record
|
@@ -1,4 +1,4 @@
|
||||
From e714feefbc666c34518c908acbc630e9a9f0b48e Mon Sep 17 00:00:00 2001
|
||||
From e45dcebaee1ba3235293c0f84550effd5b445d94 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 18 Sep 2013 22:30:57 +0200
|
||||
Subject: wined3d: Introduce helper functions for mapping volumes.
|
||||
@@ -8,10 +8,10 @@ Subject: wined3d: Introduce helper functions for mapping volumes.
|
||||
1 file changed, 96 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index f82347d..17502ee 100644
|
||||
index 5d32043..b86b227 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -480,12 +480,67 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
@@ -468,12 +468,67 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ index f82347d..17502ee 100644
|
||||
BYTE *base_memory;
|
||||
const struct wined3d_format *format = volume->resource.format;
|
||||
const unsigned int fmt_flags = volume->container->resource.format_flags;
|
||||
@@ -518,58 +573,22 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -506,58 +561,22 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
|
||||
flags = wined3d_resource_sanitize_map_flags(&volume->resource, flags);
|
||||
|
||||
@@ -150,8 +150,8 @@ index f82347d..17502ee 100644
|
||||
|
||||
TRACE("Base memory pointer %p.\n", base_memory);
|
||||
|
||||
@@ -627,8 +646,34 @@ struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resour
|
||||
return volume_from_resource(resource);
|
||||
@@ -610,8 +629,34 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
+static void wined3d_volume_release_map_ptr(const struct wined3d_volume *volume,
|
||||
@@ -185,7 +185,7 @@ index f82347d..17502ee 100644
|
||||
TRACE("volume %p.\n", volume);
|
||||
|
||||
if (!volume->resource.map_count)
|
||||
@@ -637,19 +682,9 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
@@ -620,19 +665,9 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -209,5 +209,5 @@ index f82347d..17502ee 100644
|
||||
volume->resource.map_count--;
|
||||
|
||||
--
|
||||
2.4.2
|
||||
2.6.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 8d5263c4675ba0456a486cba995fa6e41f056aa2 Mon Sep 17 00:00:00 2001
|
||||
From 512672b57e21aab944955cf738f8285d91369604 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 16 Jan 2014 22:07:17 +0100
|
||||
Subject: wined3d: Move volume PBO infrastructure into the resource.
|
||||
@@ -10,7 +10,7 @@ Subject: wined3d: Move volume PBO infrastructure into the resource.
|
||||
3 files changed, 83 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 9ec6a6a..c652c99 100644
|
||||
index 39df397..5f0a98e 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -373,7 +373,7 @@ GLbitfield wined3d_resource_gl_map_flags(DWORD d3d_flags)
|
||||
@@ -89,7 +89,7 @@ index 9ec6a6a..c652c99 100644
|
||||
+ }
|
||||
+}
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 17502ee..ea54b97 100644
|
||||
index b86b227..d196b0e 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -218,7 +218,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -173,7 +173,7 @@ index 17502ee..ea54b97 100644
|
||||
{
|
||||
/* Should not happen because only dynamic default pool volumes
|
||||
* have a buffer, and those are not evicted by device_evit_managed_resources
|
||||
@@ -498,44 +498,6 @@ static BOOL wined3d_volume_prepare_map_memory(struct wined3d_volume *volume, str
|
||||
@@ -486,44 +486,6 @@ static BOOL wined3d_volume_prepare_map_memory(struct wined3d_volume *volume, str
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ index 17502ee..ea54b97 100644
|
||||
HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
||||
{
|
||||
@@ -587,7 +549,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -575,7 +537,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
else
|
||||
wined3d_resource_load_location(&volume->resource, context, volume->resource.map_binding);
|
||||
|
||||
@@ -227,8 +227,8 @@ index 17502ee..ea54b97 100644
|
||||
context_release(context);
|
||||
|
||||
TRACE("Base memory pointer %p.\n", base_memory);
|
||||
@@ -646,30 +608,6 @@ struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resour
|
||||
return volume_from_resource(resource);
|
||||
@@ -629,30 +591,6 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
-static void wined3d_volume_release_map_ptr(const struct wined3d_volume *volume,
|
||||
@@ -258,7 +258,7 @@ index 17502ee..ea54b97 100644
|
||||
HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
{
|
||||
struct wined3d_device *device = volume->resource.device;
|
||||
@@ -683,7 +621,7 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
@@ -666,7 +604,7 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
}
|
||||
|
||||
context = context_acquire(device, NULL);
|
||||
@@ -268,10 +268,10 @@ index 17502ee..ea54b97 100644
|
||||
|
||||
volume->resource.map_count--;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index ece63d0..1710b7c 100644
|
||||
index eeed387..efd865b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2168,6 +2168,7 @@ struct wined3d_resource
|
||||
@@ -2174,6 +2174,7 @@ struct wined3d_resource
|
||||
DWORD priority;
|
||||
void *heap_memory, *user_memory, *bitmap_data;
|
||||
UINT custom_row_pitch, custom_slice_pitch;
|
||||
@@ -279,7 +279,7 @@ index ece63d0..1710b7c 100644
|
||||
struct list resource_list_entry;
|
||||
DWORD locations;
|
||||
|
||||
@@ -2197,14 +2198,17 @@ void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@@ -2203,14 +2204,17 @@ void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
DWORD wined3d_resource_access_from_location(DWORD location) DECLSPEC_HIDDEN;
|
||||
BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_free_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@@ -298,7 +298,7 @@ index ece63d0..1710b7c 100644
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD location) DECLSPEC_HIDDEN;
|
||||
@@ -2328,7 +2332,6 @@ struct wined3d_volume
|
||||
@@ -2337,7 +2341,6 @@ struct wined3d_volume
|
||||
DWORD flags;
|
||||
GLint texture_level;
|
||||
DWORD download_count;
|
||||
@@ -307,5 +307,5 @@ index ece63d0..1710b7c 100644
|
||||
|
||||
static inline struct wined3d_volume *volume_from_resource(struct wined3d_resource *resource)
|
||||
--
|
||||
2.5.1
|
||||
2.6.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 6ec55bf77d18523e178ca2e35553693c754827d5 Mon Sep 17 00:00:00 2001
|
||||
From 2faccff39a75dfddd6aa22f3211d6ca12a4b3555 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 19 Sep 2013 17:51:38 +0200
|
||||
Subject: wined3d: Move most of volume_map to resource.c
|
||||
@@ -13,7 +13,7 @@ boundary check behaviours.
|
||||
3 files changed, 124 insertions(+), 95 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index ab83637..8ab137d 100644
|
||||
index 2e06f21..e5af445 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -765,3 +765,118 @@ BOOL wined3d_resource_check_block_align(const struct wined3d_resource *resource,
|
||||
@@ -136,10 +136,10 @@ index ab83637..8ab137d 100644
|
||||
+ return WINED3D_OK;
|
||||
+}
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 6b17044..983ae90 100644
|
||||
index 0827c74..0a1df4b 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -404,26 +404,16 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
@@ -392,26 +392,16 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
||||
{
|
||||
@@ -167,7 +167,7 @@ index 6b17044..983ae90 100644
|
||||
if (!wined3d_volume_check_box_dimensions(volume, box))
|
||||
{
|
||||
WARN("Map box is invalid.\n");
|
||||
@@ -436,74 +426,11 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -424,95 +414,16 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -245,9 +245,6 @@ index 6b17044..983ae90 100644
|
||||
+ return hr;
|
||||
}
|
||||
|
||||
struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resource *resource)
|
||||
@@ -513,23 +440,7 @@ struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resour
|
||||
|
||||
HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
{
|
||||
- struct wined3d_device *device = volume->resource.device;
|
||||
@@ -272,10 +269,10 @@ index 6b17044..983ae90 100644
|
||||
|
||||
static ULONG volume_resource_incref(struct wined3d_resource *resource)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 3dff204..db8126f 100644
|
||||
index 91e6db8..c230cb5 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2212,12 +2212,15 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
@@ -2218,12 +2218,15 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
||||
@@ -292,5 +289,5 @@ index 3dff204..db8126f 100644
|
||||
void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD location) DECLSPEC_HIDDEN;
|
||||
|
||||
--
|
||||
2.5.1
|
||||
2.6.0
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,46 +0,0 @@
|
||||
From 73dbe41e80fa7ed3aeb3c3f0ee91fe2023b2a356 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 17:52:50 -0700
|
||||
Subject: ws2_32: Add stub for TransmitFile.
|
||||
|
||||
---
|
||||
dlls/ws2_32/socket.c | 16 +++++++++++++++-
|
||||
1 file changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index 760e184..86efbe6 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -2538,6 +2538,19 @@ static BOOL WINAPI WS2_AcceptEx(SOCKET listener, SOCKET acceptor, PVOID dest, DW
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * TransmitFile
|
||||
+ */
|
||||
+static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD bytes_per_send,
|
||||
+ LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers,
|
||||
+ DWORD flags )
|
||||
+{
|
||||
+ FIXME("(%lx, %p, %d, %d, %p, %p, %d): stub !\n", s, h, file_bytes, bytes_per_send, overlapped,
|
||||
+ buffers, flags );
|
||||
+ WSASetLastError( WSAEOPNOTSUPP );
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* GetAcceptExSockaddrs
|
||||
*/
|
||||
static void WINAPI WS2_GetAcceptExSockaddrs(PVOID buffer, DWORD data_size, DWORD local_size, DWORD remote_size,
|
||||
@@ -4177,7 +4190,8 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID
|
||||
}
|
||||
else if ( IsEqualGUID(&transmitfile_guid, in_buff) )
|
||||
{
|
||||
- FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented TransmitFile\n");
|
||||
+ *(LPFN_TRANSMITFILE *)out_buff = WS2_TransmitFile;
|
||||
+ break;
|
||||
}
|
||||
else if ( IsEqualGUID(&transmitpackets_guid, in_buff) )
|
||||
{
|
||||
--
|
||||
2.3.0
|
||||
|
@@ -1,168 +0,0 @@
|
||||
From 9e8e6d6b4c14478ac28da693de9bd1a51f60d3eb Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Fri, 17 Jan 2014 12:35:57 -0700
|
||||
Subject: ws2_32: Check for invalid parameters in TransmitFile.
|
||||
|
||||
---
|
||||
dlls/ws2_32/socket.c | 21 ++++++++++
|
||||
dlls/ws2_32/tests/sock.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 124 insertions(+)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index 86efbe6..96335cd 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -2544,8 +2544,29 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
|
||||
LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers,
|
||||
DWORD flags )
|
||||
{
|
||||
+ union generic_unix_sockaddr uaddr;
|
||||
+ unsigned int uaddrlen = sizeof(uaddr);
|
||||
+ int fd;
|
||||
+
|
||||
FIXME("(%lx, %p, %d, %d, %p, %p, %d): stub !\n", s, h, file_bytes, bytes_per_send, overlapped,
|
||||
buffers, flags );
|
||||
+
|
||||
+ fd = get_sock_fd( s, 0, NULL );
|
||||
+ if (fd == -1)
|
||||
+ {
|
||||
+ WSASetLastError( WSAENOTSOCK );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ if (getpeername( fd, &uaddr.addr, &uaddrlen ) != 0)
|
||||
+ {
|
||||
+ release_sock_fd( s, fd );
|
||||
+ WSASetLastError( WSAENOTCONN );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ release_sock_fd( s, fd );
|
||||
+ if (flags)
|
||||
+ FIXME("Flags are not currently supported (0x%x).\n", flags);
|
||||
+
|
||||
WSASetLastError( WSAEOPNOTSUPP );
|
||||
return FALSE;
|
||||
}
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index 7155a09..0991e54 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -6906,6 +6906,108 @@ end:
|
||||
closesocket(connector2);
|
||||
}
|
||||
|
||||
+static void test_TransmitFile(void)
|
||||
+{
|
||||
+ GUID transmitFileGuid = WSAID_TRANSMITFILE;
|
||||
+ LPFN_TRANSMITFILE pTransmitFile = NULL;
|
||||
+ HANDLE file = INVALID_HANDLE_VALUE;
|
||||
+ char system_ini_path[MAX_PATH];
|
||||
+ struct sockaddr_in bindAddress;
|
||||
+ SOCKET client, server, dest;
|
||||
+ DWORD num_bytes, err;
|
||||
+ int iret, len;
|
||||
+ BOOL bret;
|
||||
+
|
||||
+ /* Setup sockets for testing TransmitFile */
|
||||
+ client = socket(AF_INET, SOCK_STREAM, 0);
|
||||
+ server = socket(AF_INET, SOCK_STREAM, 0);
|
||||
+ if (client == INVALID_SOCKET || server == INVALID_SOCKET)
|
||||
+ {
|
||||
+ skip("could not create acceptor socket, error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ iret = WSAIoctl(client, SIO_GET_EXTENSION_FUNCTION_POINTER, &transmitFileGuid, sizeof(transmitFileGuid),
|
||||
+ &pTransmitFile, sizeof(pTransmitFile), &num_bytes, NULL, NULL);
|
||||
+ if (iret)
|
||||
+ {
|
||||
+ skip("WSAIoctl failed to get TransmitFile with ret %d + errno %d\n", iret, WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ GetSystemWindowsDirectoryA(system_ini_path, MAX_PATH );
|
||||
+ strcat(system_ini_path, "\\system.ini");
|
||||
+ file = CreateFileA(system_ini_path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, 0x0, NULL);
|
||||
+ if (file == INVALID_HANDLE_VALUE)
|
||||
+ {
|
||||
+ skip("Unable to open a file to transmit.\n");
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ /* Test TransmitFile with an invalid socket */
|
||||
+ bret = pTransmitFile(INVALID_SOCKET, file, 0, 0, NULL, NULL, 0);
|
||||
+ err = WSAGetLastError();
|
||||
+ ok(!bret, "TransmitFile succeeded unexpectedly.\n");
|
||||
+ ok(err == WSAENOTSOCK, "TransmitFile triggered unexpected errno (%d != %d)\n", err, WSAENOTSOCK);
|
||||
+
|
||||
+ /* Test a bogus TransmitFile without a connected socket */
|
||||
+ bret = pTransmitFile(client, NULL, 0, 0, NULL, NULL, TF_REUSE_SOCKET);
|
||||
+ err = WSAGetLastError();
|
||||
+ ok(!bret, "TransmitFile succeeded unexpectedly.\n");
|
||||
+ ok(err == WSAENOTCONN, "TransmitFile triggered unexpected errno (%d != %d)\n", err, WSAENOTCONN);
|
||||
+
|
||||
+ /* Setup a properly connected socket for transfers */
|
||||
+ memset(&bindAddress, 0, sizeof(bindAddress));
|
||||
+ bindAddress.sin_family = AF_INET;
|
||||
+ bindAddress.sin_port = htons(9375);
|
||||
+ bindAddress.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
+ iret = bind(server, (struct sockaddr*)&bindAddress, sizeof(bindAddress));
|
||||
+ if (iret != 0)
|
||||
+ {
|
||||
+ skip("failed to bind(), error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ iret = listen(server, 1);
|
||||
+ if (iret != 0)
|
||||
+ {
|
||||
+ skip("failed to listen(), error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ iret = connect(client, (struct sockaddr*)&bindAddress, sizeof(bindAddress));
|
||||
+ if (iret != 0)
|
||||
+ {
|
||||
+ skip("failed to connect(), error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ len = sizeof(bindAddress);
|
||||
+ dest = accept(server, (struct sockaddr*)&bindAddress, &len);
|
||||
+ if (dest == INVALID_SOCKET)
|
||||
+ {
|
||||
+ skip("failed to accept(), error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ if (set_blocking(dest, FALSE))
|
||||
+ {
|
||||
+ skip("couldn't make socket non-blocking, error %d\n", WSAGetLastError());
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ /* Test TransmitFile with no possible buffer */
|
||||
+ bret = pTransmitFile(client, NULL, 0, 0, NULL, NULL, 0);
|
||||
+ todo_wine ok(bret, "TransmitFile failed unexpectedly.\n");
|
||||
+
|
||||
+ /* Test TransmitFile with a UDP datagram socket */
|
||||
+ closesocket(client);
|
||||
+ client = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
+ bret = pTransmitFile(client, NULL, 0, 0, NULL, NULL, 0);
|
||||
+ err = WSAGetLastError();
|
||||
+ ok(!bret, "TransmitFile succeeded unexpectedly.\n");
|
||||
+ ok(err == WSAENOTCONN, "TransmitFile triggered unexpected errno (%d != %d)\n", err, WSAENOTCONN);
|
||||
+
|
||||
+cleanup:
|
||||
+ CloseHandle(file);
|
||||
+ closesocket(client);
|
||||
+ closesocket(server);
|
||||
+}
|
||||
+
|
||||
static void test_getpeername(void)
|
||||
{
|
||||
SOCKET sock;
|
||||
@@ -8266,6 +8368,7 @@ START_TEST( sock )
|
||||
test_events(1);
|
||||
|
||||
test_ipv6only();
|
||||
+ test_TransmitFile();
|
||||
test_GetAddrInfoW();
|
||||
test_getaddrinfo();
|
||||
test_AcceptEx();
|
||||
--
|
||||
2.3.0
|
||||
|
Reference in New Issue
Block a user