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
Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a562590978 | ||
|
428a6cdcd0 | ||
|
9497ddf2fe | ||
|
5967c68f85 | ||
|
5d9b555b72 | ||
|
f8231c23e7 | ||
|
72534ddaea | ||
|
f75a04e4aa | ||
|
7ab0b0f5f5 | ||
|
953c54145c | ||
|
a777ae6b81 | ||
|
a01941da19 | ||
|
2827fd6727 | ||
|
c55fa81f35 | ||
|
46ac00b4a4 | ||
|
3aed8374fa | ||
|
8b016d206e |
@@ -1,4 +1,4 @@
|
||||
From 36b4dbb687232d783cc3203da1dee4a797606ba7 Mon Sep 17 00:00:00 2001
|
||||
From e6354103c243e13c177f6a534a9e786cfdcf7c92 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
@@ -9,10 +9,10 @@ Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 255d5afef79..00add6728cc 100644
|
||||
index 1a87f4d1f5e..31c0a3bae94 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -44,6 +44,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
@@ -42,6 +42,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
WINE_DECLARE_DEBUG_CHANNEL(snoop);
|
||||
WINE_DECLARE_DEBUG_CHANNEL(loaddll);
|
||||
WINE_DECLARE_DEBUG_CHANNEL(imports);
|
||||
@@ -20,7 +20,7 @@ index 255d5afef79..00add6728cc 100644
|
||||
|
||||
#ifdef _WIN64
|
||||
#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232)
|
||||
@@ -3536,6 +3537,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
@@ -3749,6 +3750,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
process_detach();
|
||||
}
|
||||
|
||||
@@ -28,9 +28,9 @@ index 255d5afef79..00add6728cc 100644
|
||||
|
||||
/******************************************************************
|
||||
* RtlExitUserProcess (NTDLL.@)
|
||||
@@ -3955,6 +3957,9 @@ static void release_address_space(void)
|
||||
@@ -4195,6 +4197,9 @@ static void release_address_space(void)
|
||||
*/
|
||||
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR unknown3, ULONG_PTR unknown4 )
|
||||
void loader_init( CONTEXT *context, void **entry )
|
||||
{
|
||||
+ OBJECT_ATTRIBUTES staging_event_attr;
|
||||
+ UNICODE_STRING staging_event_string;
|
||||
@@ -38,7 +38,7 @@ index 255d5afef79..00add6728cc 100644
|
||||
static int attach_done;
|
||||
NTSTATUS status;
|
||||
ULONG_PTR cookie;
|
||||
@@ -4041,6 +4046,16 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
@@ -4274,6 +4279,16 @@ void loader_init( CONTEXT *context, void **entry )
|
||||
if (NtCurrentTeb()->WowTebOffset) init_wow64( context );
|
||||
#endif
|
||||
|
||||
@@ -56,5 +56,5 @@ index 255d5afef79..00add6728cc 100644
|
||||
InsertHeadList( &tls_links, &NtCurrentTeb()->TlsLinks );
|
||||
RtlReleasePebLock();
|
||||
--
|
||||
2.33.0
|
||||
2.42.0
|
||||
|
@@ -60,7 +60,7 @@ index 00000000000..75a083ad276
|
||||
+
|
||||
+HRESULT WINAPI D3D12GetInterface(REFCLSID rclsid, REFIID riid, void **out)
|
||||
+{
|
||||
+ FIXME("%d, %s, %p\n", debugstr_guid(rclsid), debugstr_guid(riid), out);
|
||||
+ FIXME("%s, %s, %p\n", debugstr_guid(rclsid), debugstr_guid(riid), out);
|
||||
+
|
||||
+ return E_NOINTERFACE;
|
||||
+}
|
||||
|
@@ -1,169 +0,0 @@
|
||||
From c79c2913f06f0fe703f00ca324270e0551ca7027 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 28 Sep 2023 12:35:29 +1000
|
||||
Subject: [PATCH] d3dx9: D3DXLoadMeshHierarchyFromXInMemory support empty mesh.
|
||||
|
||||
---
|
||||
dlls/d3dx9_36/mesh.c | 36 ++++++++++++++++++++++++-----
|
||||
dlls/d3dx9_36/tests/mesh.c | 46 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 77 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
|
||||
index 442b56a7e19..c85a9774fdd 100644
|
||||
--- a/dlls/d3dx9_36/mesh.c
|
||||
+++ b/dlls/d3dx9_36/mesh.c
|
||||
@@ -3506,6 +3506,16 @@ HRESULT WINAPI D3DXLoadSkinMeshFromXof(struct ID3DXFileData *filedata, DWORD opt
|
||||
hr = parse_mesh(filedata, &mesh_data, provide_flags);
|
||||
if (FAILED(hr)) goto cleanup;
|
||||
|
||||
+ if (mesh_data.num_vertices == 0)
|
||||
+ {
|
||||
+ if (adjacency_out) *adjacency_out = NULL;
|
||||
+ if (materials_out) *materials_out = NULL;
|
||||
+ if (effects_out) *effects_out = NULL;
|
||||
+ *mesh_out = NULL;
|
||||
+ hr = D3D_OK;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
total_vertices = mesh_data.num_vertices;
|
||||
if (mesh_data.fvf & D3DFVF_NORMAL) {
|
||||
/* duplicate vertices with multiple normals */
|
||||
@@ -3815,7 +3825,8 @@ static HRESULT load_mesh_container(struct ID3DXFileData *filedata, DWORD options
|
||||
hr = filedata_get_name(filedata, &name);
|
||||
if (FAILED(hr)) goto cleanup;
|
||||
|
||||
- hr = alloc_hier->lpVtbl->CreateMeshContainer(alloc_hier, name, &mesh_data,
|
||||
+ if (mesh_data.pMesh)
|
||||
+ hr = alloc_hier->lpVtbl->CreateMeshContainer(alloc_hier, name, &mesh_data,
|
||||
materials ? ID3DXBuffer_GetBufferPointer(materials) : NULL,
|
||||
effects ? ID3DXBuffer_GetBufferPointer(effects) : NULL,
|
||||
num_materials,
|
||||
@@ -4201,13 +4212,21 @@ static HRESULT parse_frame(struct ID3DXFileData *filedata, DWORD options, struct
|
||||
hr = E_OUTOFMEMORY;
|
||||
goto err;
|
||||
}
|
||||
- list_add_tail(container_list, &container->entry);
|
||||
- container->transform = transform;
|
||||
|
||||
hr = D3DXLoadSkinMeshFromXof(child, options, device,
|
||||
(provide_flags & PROVIDE_ADJACENCY) ? &container->adjacency : NULL,
|
||||
(provide_flags & PROVIDE_MATERIALS) ? &container->materials : NULL,
|
||||
NULL, &container->num_materials, NULL, &container->mesh);
|
||||
+
|
||||
+ if (container->mesh)
|
||||
+ {
|
||||
+ list_add_tail(container_list, &container->entry);
|
||||
+ container->transform = transform;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ HeapFree(GetProcessHeap(), HEAP_ZERO_MEMORY, container);
|
||||
+ }
|
||||
} else if (IsEqualGUID(&type, &TID_D3DRMFrameTransformMatrix)) {
|
||||
D3DXMATRIX new_transform;
|
||||
hr = parse_transform_matrix(child, &new_transform);
|
||||
@@ -4295,13 +4314,20 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
|
||||
hr = E_OUTOFMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
- list_add_tail(&container_list, &container_ptr->entry);
|
||||
- D3DXMatrixIdentity(&container_ptr->transform);
|
||||
|
||||
hr = D3DXLoadSkinMeshFromXof(filedata, options, device,
|
||||
(provide_flags & PROVIDE_ADJACENCY) ? &container_ptr->adjacency : NULL,
|
||||
(provide_flags & PROVIDE_MATERIALS) ? &container_ptr->materials : NULL,
|
||||
NULL, &container_ptr->num_materials, NULL, &container_ptr->mesh);
|
||||
+ if (container_ptr->mesh)
|
||||
+ {
|
||||
+ list_add_tail(&container_list, &container_ptr->entry);
|
||||
+ D3DXMatrixIdentity(&container_ptr->transform);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ HeapFree(GetProcessHeap(), 0, container_ptr);
|
||||
+ }
|
||||
} else if (IsEqualGUID(&guid, &TID_D3DRMFrame)) {
|
||||
hr = parse_frame(filedata, options, device, &identity, &container_list, provide_flags);
|
||||
}
|
||||
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
|
||||
index ce0f238412d..21428f12e26 100644
|
||||
--- a/dlls/d3dx9_36/tests/mesh.c
|
||||
+++ b/dlls/d3dx9_36/tests/mesh.c
|
||||
@@ -2068,6 +2068,14 @@ static void D3DXLoadMeshTest(void)
|
||||
"}"
|
||||
"Mesh { 3; 0.0; 0.0; 0.0;, 0.0; 1.0; 0.0;, 3.0; 1.0; 0.0;; 1; 3; 0, 1, 2;; }"
|
||||
"}";
|
||||
+ static const char framed_xfile2[] =
|
||||
+ "xof 0303txt 0032"
|
||||
+ "Frame Box01 {"
|
||||
+ "Mesh { 0;; 0;;"
|
||||
+ "MeshNormals { 0;; 0;; }"
|
||||
+ "}"
|
||||
+ "}";
|
||||
+
|
||||
static const WORD framed_index_buffer[] = { 0, 1, 2 };
|
||||
static const D3DXVECTOR3 framed_vertex_buffers[3][3] = {
|
||||
{{0.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 1.0, 0.0}},
|
||||
@@ -2513,6 +2521,19 @@ static void D3DXLoadMeshTest(void)
|
||||
frame_hier = NULL;
|
||||
}
|
||||
|
||||
+ hr = D3DXLoadMeshHierarchyFromXInMemory(framed_xfile2, sizeof(framed_xfile2) - 1,
|
||||
+ D3DXMESH_MANAGED, device, &alloc_hier, NULL, &frame_hier, NULL);
|
||||
+ ok(hr == D3D_OK, "Expected D3D_OK, got %#lx\n", hr);
|
||||
+ if (SUCCEEDED(hr)) {
|
||||
+ D3DXMESHCONTAINER *container = frame_hier->pMeshContainer;
|
||||
+
|
||||
+ ok(!strcmp(frame_hier->Name, "Box01"), "Expected '', got '%s'\n", frame_hier->Name);
|
||||
+ ok(container == NULL, "Expected NULL, got %p\n", container);
|
||||
+
|
||||
+ hr = D3DXFrameDestroy(frame_hier, &alloc_hier);
|
||||
+ ok(hr == D3D_OK, "Expected D3D_OK, got %#lx\n", hr);
|
||||
+ frame_hier = NULL;
|
||||
+ }
|
||||
|
||||
hr = D3DXLoadMeshFromXInMemory(NULL, 0, D3DXMESH_MANAGED,
|
||||
device, NULL, NULL, NULL, NULL, &mesh);
|
||||
@@ -11426,6 +11447,9 @@ static void test_load_skin_mesh_from_xof(void)
|
||||
"1;"
|
||||
"3; 0, 1, 2;;"
|
||||
"}";
|
||||
+ static const char simple_xfile_empty[] =
|
||||
+ "xof 0303txt 0032"
|
||||
+ "Mesh { 0;; 0;; }";
|
||||
static const D3DVERTEXELEMENT9 expected_declaration[] =
|
||||
{
|
||||
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
|
||||
@@ -11537,6 +11561,28 @@ static void test_load_skin_mesh_from_xof(void)
|
||||
mesh->lpVtbl->Release(mesh);
|
||||
adjacency->lpVtbl->Release(adjacency);
|
||||
file_data->lpVtbl->Release(file_data);
|
||||
+
|
||||
+ /* Empty Mesh Test */
|
||||
+ file_data = get_mesh_data(simple_xfile_empty, sizeof(simple_xfile_empty) - 1);
|
||||
+ ok(!!file_data, "Failed to load mesh data.\n");
|
||||
+
|
||||
+ adjacency = materials = effects = (void *)0xdeadbeef;
|
||||
+ count = ~0u;
|
||||
+ skin_info = (void *)0xdeadbeef;
|
||||
+ mesh = (void *)0xdeadbeef;
|
||||
+
|
||||
+ hr = D3DXLoadSkinMeshFromXof(file_data, 0, device, &adjacency, &materials, &effects, &count,
|
||||
+ &skin_info, &mesh);
|
||||
+ todo_wine ok(hr == D3DXERR_LOADEDMESHASNODATA, "Got unexpected hr %#lx.\n", hr);
|
||||
+ ok(!adjacency, "Got unexpected value %p.\n", adjacency);
|
||||
+ ok(!materials, "Got unexpected value %p.\n", materials);
|
||||
+ ok(!effects, "Got unexpected value %p.\n", effects);
|
||||
+ ok(count == ~0u, "Got unexpected value %lu.\n", count);
|
||||
+ ok(skin_info == (void *)0xdeadbeef, "Got unexpected value %p.\n", skin_info);
|
||||
+ ok(!mesh, "Got unexpected value %p.\n", mesh);
|
||||
+
|
||||
+ file_data->lpVtbl->Release(file_data);
|
||||
+
|
||||
refcount = IDirect3DDevice9_Release(device);
|
||||
ok(!refcount, "Device has %lu references left.\n", refcount);
|
||||
DestroyWindow(hwnd);
|
||||
--
|
||||
2.42.0
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e9f5c886b6b40ca77eb1dd7f0d21bbdc483b7a95 Mon Sep 17 00:00:00 2001
|
||||
From d51057f7c91016d2c6f5c3b21d201f86d7c085b5 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 6 Oct 2014 05:06:06 +0200
|
||||
Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in
|
||||
index 74647820126..9f0aad2fc4f 100644
|
||||
index 3657fa7db12..c8114677bc6 100644
|
||||
--- a/dlls/dbghelp/Makefile.in
|
||||
+++ b/dlls/dbghelp/Makefile.in
|
||||
@@ -2,7 +2,7 @@ MODULE = dbghelp.dll
|
||||
@@ -18,9 +18,9 @@ index 74647820126..9f0aad2fc4f 100644
|
||||
EXTRAINCL = $(ZLIB_PE_CFLAGS)
|
||||
-EXTRADEFS = -D_IMAGEHLP_SOURCE_
|
||||
+EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
|
||||
DELAYIMPORTS = version
|
||||
|
||||
C_SRCS = \
|
||||
coff.c \
|
||||
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
|
||||
index a2a60752a68..a2bca11048f 100644
|
||||
--- a/dlls/dbghelp/elf_module.c
|
||||
@@ -34,5 +34,5 @@ index a2a60752a68..a2bca11048f 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,29 +1,28 @@
|
||||
From aa953a66080d49a697101fb55a1bd950de4a59db Mon Sep 17 00:00:00 2001
|
||||
From d32988c911aae73ec81242cd8f6ae37e078d212f Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 2 Dec 2022 14:41:30 +1100
|
||||
Subject: [PATCH] dmime: Implement IDirectMusicSegment8 Download
|
||||
|
||||
---
|
||||
dlls/dmime/dmime_private.h | 2 +
|
||||
dlls/dmime/dmime_private.h | 1 +
|
||||
dlls/dmime/performance.c | 7 ++++
|
||||
dlls/dmime/segment.c | 84 +++++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 92 insertions(+), 1 deletion(-)
|
||||
3 files changed, 91 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h
|
||||
index eacde4b46be..cd34378b66e 100644
|
||||
index c35c52eb066..ca8323fc525 100644
|
||||
--- a/dlls/dmime/dmime_private.h
|
||||
+++ b/dlls/dmime/dmime_private.h
|
||||
@@ -70,6 +70,8 @@ extern void set_audiopath_perf_pointer(IDirectMusicAudioPath*,IDirectMusicPerfor
|
||||
extern void set_audiopath_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*);
|
||||
extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*);
|
||||
@@ -72,6 +72,7 @@ extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSo
|
||||
|
||||
extern HRESULT segment_state_create(IDirectMusicSegment *segment, MUSIC_TIME start_time,
|
||||
IDirectMusicSegmentState **ret_iface);
|
||||
+extern IDirectSound *get_dsound_interface(IDirectMusicPerformance8*);
|
||||
+
|
||||
|
||||
/*****************************************************************************
|
||||
* Auxiliary definitions
|
||||
*/
|
||||
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c
|
||||
index 111d7c60568..8a418b8df13 100644
|
||||
index 9f293358ca6..3658c16c187 100644
|
||||
--- a/dlls/dmime/performance.c
|
||||
+++ b/dlls/dmime/performance.c
|
||||
@@ -251,6 +251,13 @@ static inline struct performance *impl_from_IDirectMusicPerformance8(IDirectMusi
|
||||
|
@@ -1,63 +1,50 @@
|
||||
From 5c84cc44881073aa756e4797a776acbde4d063ae Mon Sep 17 00:00:00 2001
|
||||
From b9c561a99b7034e3cac64ab85e4d50a6fb0c304c Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 12 Dec 2022 15:20:10 +1100
|
||||
Subject: [PATCH] dmime: Play a sound in IDirectMusicPerformance8 PlaySegmentEx
|
||||
|
||||
---
|
||||
dlls/dmime/dmime_private.h | 1 +
|
||||
dlls/dmime/performance.c | 25 +++++++++++++++++++------
|
||||
dlls/dmime/segment.c | 6 ++++++
|
||||
3 files changed, 26 insertions(+), 6 deletions(-)
|
||||
dlls/dmime/dmime_private.h | 1 +
|
||||
dlls/dmime/performance.c | 6 ++++++
|
||||
dlls/dmime/segment.c | 6 ++++++
|
||||
3 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h
|
||||
index cd34378b66e..c83f6675333 100644
|
||||
index ca8323fc525..2b4537233fc 100644
|
||||
--- a/dlls/dmime/dmime_private.h
|
||||
+++ b/dlls/dmime/dmime_private.h
|
||||
@@ -71,6 +71,7 @@ extern void set_audiopath_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffe
|
||||
extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*);
|
||||
|
||||
@@ -73,6 +73,7 @@ extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSo
|
||||
extern HRESULT segment_state_create(IDirectMusicSegment *segment, MUSIC_TIME start_time,
|
||||
IDirectMusicSegmentState **ret_iface);
|
||||
extern IDirectSound *get_dsound_interface(IDirectMusicPerformance8*);
|
||||
+extern IDirectSoundBuffer *get_segment_buffer(IDirectMusicSegment8 *iface);
|
||||
|
||||
/*****************************************************************************
|
||||
* Auxiliary definitions
|
||||
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c
|
||||
index 8a418b8df13..a0dbdbd5aad 100644
|
||||
index 3658c16c187..14831e72ba3 100644
|
||||
--- a/dlls/dmime/performance.c
|
||||
+++ b/dlls/dmime/performance.c
|
||||
@@ -1075,13 +1075,26 @@ static HRESULT WINAPI performance_PlaySegmentEx(IDirectMusicPerformance8 *iface,
|
||||
WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, __int64 i64StartTime,
|
||||
IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, IUnknown *pAudioPath)
|
||||
{
|
||||
- struct performance *This = impl_from_IDirectMusicPerformance8(iface);
|
||||
+ struct performance *This = impl_from_IDirectMusicPerformance8(iface);
|
||||
+ IDirectMusicSegment8 *segment;
|
||||
@@ -1078,6 +1078,7 @@ static HRESULT WINAPI performance_PlaySegmentEx(IDirectMusicPerformance8 *iface,
|
||||
IDirectMusicSegmentState *state;
|
||||
IDirectMusicSegment *segment;
|
||||
HRESULT hr;
|
||||
+ IDirectSoundBuffer *buffer;
|
||||
+ HRESULT hr;
|
||||
|
||||
- FIXME("(%p, %p, %p, %p, %ld, 0x%s, %p, %p, %p): stub\n", This, pSource, pwzSegmentName,
|
||||
- pTransition, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState, pFrom, pAudioPath);
|
||||
- if (ppSegmentState)
|
||||
- return create_dmsegmentstate(&IID_IDirectMusicSegmentState,(void**)ppSegmentState);
|
||||
- return S_OK;
|
||||
+ FIXME("(%p, %p, %p, %p, %ld, 0x%s, %p, %p, %p): semi-stub\n", This, pSource, pwzSegmentName,
|
||||
+ pTransition, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState, pFrom, pAudioPath);
|
||||
+
|
||||
+ hr = IUnknown_QueryInterface(pSource, &IID_IDirectMusicSegment8, (void**)&segment);
|
||||
+ if (FAILED(hr))
|
||||
+ return hr;
|
||||
+
|
||||
FIXME("(%p, %p, %s, %p, %#lx, %I64d, %p, %p, %p): stub\n", This, source, debugstr_w(segment_name),
|
||||
transition, segment_flags, start_time, segment_state, from, audio_path);
|
||||
@@ -1096,6 +1097,11 @@ static HRESULT WINAPI performance_PlaySegmentEx(IDirectMusicPerformance8 *iface,
|
||||
IDirectMusicSegmentState_AddRef(state);
|
||||
}
|
||||
|
||||
+ buffer = get_segment_buffer(segment);
|
||||
+
|
||||
+ if (segment)
|
||||
+ hr = IDirectSoundBuffer_Play(buffer, 0, 0, 0);
|
||||
+
|
||||
+ if (ppSegmentState)
|
||||
+ return create_dmsegmentstate(&IID_IDirectMusicSegmentState,(void**)ppSegmentState);
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI performance_StopEx(IDirectMusicPerformance8 *iface, IUnknown *pObjectToStop,
|
||||
IDirectMusicSegmentState_Release(state);
|
||||
IDirectMusicSegment_Release(segment);
|
||||
return hr;
|
||||
diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
|
||||
index 284564749df..af76258c979 100644
|
||||
--- a/dlls/dmime/segment.c
|
||||
|
@@ -3,6 +3,7 @@ Fixes: [61322] dmine: No Sound in Black Rockman Shooter.
|
||||
Fixes: [34751] dmime: Aura: Fate of the Ages: sounds aren't played, but music works fine
|
||||
Fixes: [9027] dmime: No sound for rise of nations - all versions.
|
||||
|
||||
Disabled: True
|
||||
# Also
|
||||
# - Cloning Clyde demo
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 9ab2897d8c05a9950ce14200d1d7f374a31ee886 Mon Sep 17 00:00:00 2001
|
||||
From e222dd363cf419eecb0d5c97390b60de15f37951 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 8 Jun 2018 18:51:40 -0500
|
||||
Subject: [PATCH] server: Add an object operation to grab the esync file
|
||||
@@ -43,7 +43,7 @@ Split off to decrease patch size.
|
||||
34 files changed, 68 insertions(+)
|
||||
|
||||
diff --git a/server/async.c b/server/async.c
|
||||
index 7aef28355f0..7ac675f75c4 100644
|
||||
index 9cb251df5ce..337bba8631b 100644
|
||||
--- a/server/async.c
|
||||
+++ b/server/async.c
|
||||
@@ -77,6 +77,7 @@ static const struct object_ops async_ops =
|
||||
@@ -54,7 +54,7 @@ index 7aef28355f0..7ac675f75c4 100644
|
||||
async_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -586,6 +587,7 @@ static const struct object_ops iosb_ops =
|
||||
@@ -676,6 +677,7 @@ static const struct object_ops iosb_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -75,7 +75,7 @@ index ff0799f5880..d9824de8eac 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/change.c b/server/change.c
|
||||
index 325782d8197..90d5bfa3019 100644
|
||||
index 7a806abc017..e080511bb23 100644
|
||||
--- a/server/change.c
|
||||
+++ b/server/change.c
|
||||
@@ -112,6 +112,7 @@ static const struct object_ops dir_ops =
|
||||
@@ -111,7 +111,7 @@ index 6933195e72d..3d4be86a212 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/console.c b/server/console.c
|
||||
index 5407fba1411..ef6bcb12f5a 100644
|
||||
index b64283baf4a..1cc9eea6a50 100644
|
||||
--- a/server/console.c
|
||||
+++ b/server/console.c
|
||||
@@ -81,6 +81,7 @@ static const struct object_ops console_ops =
|
||||
@@ -191,7 +191,7 @@ index 48adb244b09..d85a2000684 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/device.c b/server/device.c
|
||||
index d6288920bf4..80904d33d0d 100644
|
||||
index 436dac6bfe9..f730fa81afa 100644
|
||||
--- a/server/device.c
|
||||
+++ b/server/device.c
|
||||
@@ -66,6 +66,7 @@ static const struct object_ops irp_call_ops =
|
||||
@@ -227,7 +227,7 @@ index d6288920bf4..80904d33d0d 100644
|
||||
no_signal, /* signal */
|
||||
device_file_get_fd, /* get_fd */
|
||||
diff --git a/server/directory.c b/server/directory.c
|
||||
index 2cd61be0838..ed3ab1ebb8f 100644
|
||||
index 23d7eb0a2b7..bc161b9ab7e 100644
|
||||
--- a/server/directory.c
|
||||
+++ b/server/directory.c
|
||||
@@ -69,6 +69,7 @@ static const struct object_ops object_type_ops =
|
||||
@@ -247,7 +247,7 @@ index 2cd61be0838..ed3ab1ebb8f 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/esync.c b/server/esync.c
|
||||
index 8faea3c790b..1fa81b96176 100644
|
||||
index 6a63c0dd5e9..f95dc5a391f 100644
|
||||
--- a/server/esync.c
|
||||
+++ b/server/esync.c
|
||||
@@ -122,6 +122,7 @@ static const struct object_ops esync_ops =
|
||||
@@ -279,10 +279,10 @@ index f1b79b1b35e..c727bfdd1ba 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index cd8f7171e6e..a61c09559fe 100644
|
||||
index 74ad95fd4d1..4ce498ec0ef 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -212,6 +212,7 @@ static const struct object_ops fd_ops =
|
||||
@@ -172,6 +172,7 @@ static const struct object_ops fd_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -290,7 +290,7 @@ index cd8f7171e6e..a61c09559fe 100644
|
||||
NULL, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -253,6 +254,7 @@ static const struct object_ops device_ops =
|
||||
@@ -213,6 +214,7 @@ static const struct object_ops device_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -298,7 +298,7 @@ index cd8f7171e6e..a61c09559fe 100644
|
||||
NULL, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -293,6 +295,7 @@ static const struct object_ops inode_ops =
|
||||
@@ -253,6 +255,7 @@ static const struct object_ops inode_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -306,7 +306,7 @@ index cd8f7171e6e..a61c09559fe 100644
|
||||
NULL, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -335,6 +338,7 @@ static const struct object_ops file_lock_ops =
|
||||
@@ -295,6 +298,7 @@ static const struct object_ops file_lock_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
file_lock_signaled, /* signaled */
|
||||
@@ -315,10 +315,10 @@ index cd8f7171e6e..a61c09559fe 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 090d6c244f7..7edf612de73 100644
|
||||
index b4f99ddc93b..1b4efb04bc5 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -123,6 +123,7 @@ static const struct object_ops file_ops =
|
||||
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
default_fd_signaled, /* signaled */
|
||||
@@ -327,7 +327,7 @@ index 090d6c244f7..7edf612de73 100644
|
||||
no_signal, /* signal */
|
||||
file_get_fd, /* get_fd */
|
||||
diff --git a/server/handle.c b/server/handle.c
|
||||
index 38ad80da267..53cc1e4eb43 100644
|
||||
index 0595fdb403b..d41c7e86454 100644
|
||||
--- a/server/handle.c
|
||||
+++ b/server/handle.c
|
||||
@@ -126,6 +126,7 @@ static const struct object_ops handle_table_ops =
|
||||
@@ -387,7 +387,7 @@ index 2d8697ec9bd..4cf9b73f784 100644
|
||||
no_signal, /* signal */
|
||||
mailslot_device_file_get_fd, /* get_fd */
|
||||
diff --git a/server/mapping.c b/server/mapping.c
|
||||
index 8d4332d240f..1a8d480cfa9 100644
|
||||
index 2d0a0b783e2..1acfb032bfd 100644
|
||||
--- a/server/mapping.c
|
||||
+++ b/server/mapping.c
|
||||
@@ -67,6 +67,7 @@ static const struct object_ops ranges_ops =
|
||||
@@ -427,7 +427,7 @@ index af0efe72132..4785a830e92 100644
|
||||
mutex_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/named_pipe.c b/server/named_pipe.c
|
||||
index 3e6cf09d4f2..b8ec17a787a 100644
|
||||
index f3404a33c3b..f28cb14cb45 100644
|
||||
--- a/server/named_pipe.c
|
||||
+++ b/server/named_pipe.c
|
||||
@@ -119,6 +119,7 @@ static const struct object_ops named_pipe_ops =
|
||||
@@ -471,7 +471,7 @@ index 3e6cf09d4f2..b8ec17a787a 100644
|
||||
no_signal, /* signal */
|
||||
named_pipe_device_file_get_fd, /* get_fd */
|
||||
diff --git a/server/object.h b/server/object.h
|
||||
index f6ad9e8ccdd..f4261d0d585 100644
|
||||
index dfdd691601f..711af54b579 100644
|
||||
--- a/server/object.h
|
||||
+++ b/server/object.h
|
||||
@@ -78,6 +78,8 @@ struct object_ops
|
||||
@@ -484,7 +484,7 @@ index f6ad9e8ccdd..f4261d0d585 100644
|
||||
void (*satisfied)(struct object *,struct wait_queue_entry *);
|
||||
/* signal an object */
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 60cc03032b2..c79a574d137 100644
|
||||
index a0d5ea64d97..777bf7c2fe2 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -105,6 +105,7 @@ static const struct object_ops process_ops =
|
||||
@@ -512,10 +512,10 @@ index 60cc03032b2..c79a574d137 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index 051aafc6c3d..375b3e33a6e 100644
|
||||
index 348fdac3214..2cd8949a252 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -173,6 +173,7 @@ static const struct object_ops msg_queue_ops =
|
||||
@@ -174,6 +174,7 @@ static const struct object_ops msg_queue_ops =
|
||||
msg_queue_add_queue, /* add_queue */
|
||||
msg_queue_remove_queue, /* remove_queue */
|
||||
msg_queue_signaled, /* signaled */
|
||||
@@ -523,7 +523,7 @@ index 051aafc6c3d..375b3e33a6e 100644
|
||||
msg_queue_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -210,6 +211,7 @@ static const struct object_ops thread_input_ops =
|
||||
@@ -211,6 +212,7 @@ static const struct object_ops thread_input_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -532,10 +532,10 @@ index 051aafc6c3d..375b3e33a6e 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/registry.c b/server/registry.c
|
||||
index 93e8a309593..32a424cd842 100644
|
||||
index 629d67c832f..d6b39b99b22 100644
|
||||
--- a/server/registry.c
|
||||
+++ b/server/registry.c
|
||||
@@ -178,6 +178,7 @@ static const struct object_ops key_ops =
|
||||
@@ -180,6 +180,7 @@ static const struct object_ops key_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -592,10 +592,10 @@ index 19b76d44c16..55cd6aa037e 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index 512b7c0f78e..7a8be919494 100644
|
||||
index 52175b08987..77b41716cd1 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -249,6 +249,7 @@ static const struct object_ops sock_ops =
|
||||
@@ -451,6 +451,7 @@ static const struct object_ops sock_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
default_fd_signaled, /* signaled */
|
||||
@@ -603,7 +603,7 @@ index 512b7c0f78e..7a8be919494 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
sock_get_fd, /* get_fd */
|
||||
@@ -3124,6 +3125,7 @@ static const struct object_ops ifchange_ops =
|
||||
@@ -3481,6 +3482,7 @@ static const struct object_ops ifchange_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -611,7 +611,7 @@ index 512b7c0f78e..7a8be919494 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
ifchange_get_fd, /* get_fd */
|
||||
@@ -3345,6 +3347,7 @@ static const struct object_ops socket_device_ops =
|
||||
@@ -3702,6 +3704,7 @@ static const struct object_ops socket_device_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -632,7 +632,7 @@ index 27d48e2f994..8cb24b4ff6e 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index a8fa9a19585..b49b3f159d2 100644
|
||||
index 0d5bdcf21d9..9dc38d4cce9 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -96,6 +96,7 @@ static const struct object_ops thread_apc_ops =
|
||||
@@ -643,7 +643,7 @@ index a8fa9a19585..b49b3f159d2 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -141,6 +142,7 @@ static const struct object_ops context_ops =
|
||||
@@ -138,6 +139,7 @@ static const struct object_ops context_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
context_signaled, /* signaled */
|
||||
@@ -651,7 +651,7 @@ index a8fa9a19585..b49b3f159d2 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -190,6 +192,7 @@ static const struct object_ops thread_ops =
|
||||
@@ -187,6 +189,7 @@ static const struct object_ops thread_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
thread_signaled, /* signaled */
|
||||
@@ -672,10 +672,10 @@ index 96dc9d00ca1..f59902d5607 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/token.c b/server/token.c
|
||||
index dcb2a879ba6..76a6bc279a5 100644
|
||||
index 4df8d2e0c6e..8b4d2f0c1b1 100644
|
||||
--- a/server/token.c
|
||||
+++ b/server/token.c
|
||||
@@ -150,6 +150,7 @@ static const struct object_ops token_ops =
|
||||
@@ -143,6 +143,7 @@ static const struct object_ops token_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -684,10 +684,10 @@ index dcb2a879ba6..76a6bc279a5 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/window.c b/server/window.c
|
||||
index 24059aac0fe..a79fda5ad80 100644
|
||||
index 242e93f303a..3aa7ad4ad79 100644
|
||||
--- a/server/window.c
|
||||
+++ b/server/window.c
|
||||
@@ -108,6 +108,7 @@ static const struct object_ops window_ops =
|
||||
@@ -107,6 +107,7 @@ static const struct object_ops window_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -696,10 +696,10 @@ index 24059aac0fe..a79fda5ad80 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/winstation.c b/server/winstation.c
|
||||
index 1408e1a9e65..a99c60a28ff 100644
|
||||
index 5903497d61e..7692fbe3ed2 100644
|
||||
--- a/server/winstation.c
|
||||
+++ b/server/winstation.c
|
||||
@@ -75,6 +75,7 @@ static const struct object_ops winstation_ops =
|
||||
@@ -76,6 +76,7 @@ static const struct object_ops winstation_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -707,7 +707,7 @@ index 1408e1a9e65..a99c60a28ff 100644
|
||||
NULL, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -115,6 +116,7 @@ static const struct object_ops desktop_ops =
|
||||
@@ -116,6 +117,7 @@ static const struct object_ops desktop_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -716,5 +716,5 @@ index 1408e1a9e65..a99c60a28ff 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
--
|
||||
2.34.1
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,31 +1,31 @@
|
||||
From 5b1941f523b17f6131000ef5f188bc51a7a616c8 Mon Sep 17 00:00:00 2001
|
||||
From db27b07e0751b2535f729fa433dc67ba9668a394 Mon Sep 17 00:00:00 2001
|
||||
From: Torsten Kurbad <t.kurbad@iwm-kmrc.de>
|
||||
Date: Tue, 22 Jul 2014 18:11:41 -0600
|
||||
Subject: fonts: Add Liberation Sans as an Arial replacement. (v2)
|
||||
Subject: [PATCH] fonts: Add Liberation Sans as an Arial replacement. (v2)
|
||||
|
||||
Changes in v2 by Sebastian Lackner <sebastian@fds-team.de>:
|
||||
* Update to Liberation Sans version 1.07.4
|
||||
---
|
||||
fonts/Makefile.in | 1 +
|
||||
fonts/arial.sfd | 86988 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
fonts/arial.sfd | 86988 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
fonts/arial.ttf | Bin 0 -> 134188 bytes
|
||||
3 files changed, 86989 insertions(+)
|
||||
create mode 100644 fonts/arial.sfd
|
||||
create mode 100644 fonts/arial.ttf
|
||||
|
||||
diff --git a/fonts/Makefile.in b/fonts/Makefile.in
|
||||
index 9d4ea9f..6bbc79c 100644
|
||||
index a582d7be864..ab80e7b70f7 100644
|
||||
--- a/fonts/Makefile.in
|
||||
+++ b/fonts/Makefile.in
|
||||
@@ -1,4 +1,5 @@
|
||||
FONT_SRCS = \
|
||||
SOURCES = \
|
||||
+ arial.sfd \
|
||||
courier.sfd \
|
||||
fixedsys.sfd \
|
||||
fixedsys_jp.sfd \
|
||||
diff --git a/fonts/arial.sfd b/fonts/arial.sfd
|
||||
new file mode 100644
|
||||
index 0000000..8a04e04
|
||||
index 00000000000..8a04e0486c2
|
||||
--- /dev/null
|
||||
+++ b/fonts/arial.sfd
|
||||
@@ -0,0 +1,86988 @@
|
||||
@@ -88782,5 +88782,5 @@ literal 0
|
||||
HcmV?d00001
|
||||
|
||||
--
|
||||
2.5.0
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,22 +1,22 @@
|
||||
From 52ceb247058041e8630175d4860261e871c571da Mon Sep 17 00:00:00 2001
|
||||
From 5305bdbc5091ae02c179bf88ed35f1e7fe2a7aec Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 3 Sep 2015 01:30:37 +0200
|
||||
Subject: fonts: Add Liberation Mono as an Courier New replacement.
|
||||
Subject: [PATCH] fonts: Add Liberation Mono as an Courier New replacement.
|
||||
|
||||
---
|
||||
fonts/Makefile.in | 1 +
|
||||
fonts/cour.sfd | 67696 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
fonts/cour.sfd | 67696 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
fonts/cour.ttf | Bin 0 -> 108468 bytes
|
||||
3 files changed, 67697 insertions(+)
|
||||
create mode 100644 fonts/cour.sfd
|
||||
create mode 100644 fonts/cour.ttf
|
||||
|
||||
diff --git a/fonts/Makefile.in b/fonts/Makefile.in
|
||||
index 33f4f03..3777c54 100644
|
||||
index f62f0e104fb..5326641b859 100644
|
||||
--- a/fonts/Makefile.in
|
||||
+++ b/fonts/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
FONT_SRCS = \
|
||||
SOURCES = \
|
||||
arial.sfd \
|
||||
+ cour.sfd \
|
||||
courier.sfd \
|
||||
@@ -24,7 +24,7 @@ index 33f4f03..3777c54 100644
|
||||
fixedsys_jp.sfd \
|
||||
diff --git a/fonts/cour.sfd b/fonts/cour.sfd
|
||||
new file mode 100644
|
||||
index 0000000..88d988a
|
||||
index 00000000000..88d988a8caa
|
||||
--- /dev/null
|
||||
+++ b/fonts/cour.sfd
|
||||
@@ -0,0 +1,67696 @@
|
||||
@@ -69150,5 +69150,5 @@ literal 0
|
||||
HcmV?d00001
|
||||
|
||||
--
|
||||
2.5.0
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,34 +0,0 @@
|
||||
From a3867ccbd2fc783982263556d4b9ca525e1ef389 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 28 Sep 2017 07:02:55 +0200
|
||||
Subject: include: Always define hton/ntoh macros.
|
||||
|
||||
---
|
||||
include/winsock.h | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/include/winsock.h b/include/winsock.h
|
||||
index 8b8db83c15b..86ce4ffcf05 100644
|
||||
--- a/include/winsock.h
|
||||
+++ b/include/winsock.h
|
||||
@@ -510,8 +510,6 @@ int WINAPI __WSAFDIsSet(SOCKET,WS(fd_set)*);
|
||||
#endif /* WS_DEFINE_SELECT */
|
||||
|
||||
/* we have to define hton/ntoh as macros to avoid conflicts with Unix headers */
|
||||
-#ifndef USE_WS_PREFIX
|
||||
-
|
||||
#undef htonl
|
||||
#undef htons
|
||||
#undef ntohl
|
||||
@@ -549,8 +547,6 @@ static inline ULONG __wine_ulong_swap(ULONG l)
|
||||
|
||||
#endif /* WORDS_BIGENDIAN */
|
||||
|
||||
-#endif /* USE_WS_PREFIX */
|
||||
-
|
||||
/*
|
||||
* Internet address (old style... should be updated)
|
||||
*/
|
||||
--
|
||||
2.14.1
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 0d226ed6deed34649926c32dffe7086d2ce4f06b Mon Sep 17 00:00:00 2001
|
||||
From aba54e8536ab5423e8293452db6462dcca0bea0b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 11 Sep 2020 17:55:59 +1000
|
||||
Subject: [PATCH] include: Remove interfaces already define in msxml6.idl
|
||||
@@ -26,7 +26,7 @@ index c2d3cd30c60..243ee379712 100644
|
||||
|
||||
/* undef the #define in msxml2 so that we can access the v.2 version
|
||||
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c
|
||||
index d8101c4ce94..d19ad28fba9 100644
|
||||
index e123d4eba5a..48cfa8f5593 100644
|
||||
--- a/dlls/msxml3/tests/saxreader.c
|
||||
+++ b/dlls/msxml3/tests/saxreader.c
|
||||
@@ -29,6 +29,7 @@
|
||||
@@ -38,7 +38,7 @@ index d8101c4ce94..d19ad28fba9 100644
|
||||
#include "ocidl.h"
|
||||
#include "dispex.h"
|
||||
diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c
|
||||
index cf55f53dbc9..fd7abca151d 100644
|
||||
index efc3a8e56e3..a4fe29aca02 100644
|
||||
--- a/dlls/msxml3/tests/schema.c
|
||||
+++ b/dlls/msxml3/tests/schema.c
|
||||
@@ -32,6 +32,11 @@
|
||||
@@ -76,7 +76,7 @@ index 4abbe5e4763..333d4f3d3c7 100644
|
||||
* Note that because of a #define in msxml2.h, we end up initializing
|
||||
* CLSID_DOMDocument2 to be the v.3 version independent DOMDocument
|
||||
diff --git a/include/msxml2.idl b/include/msxml2.idl
|
||||
index 916e0e8ab3d..1d1ba7a5248 100644
|
||||
index ede4113ecbf..85bb6a5b0cb 100644
|
||||
--- a/include/msxml2.idl
|
||||
+++ b/include/msxml2.idl
|
||||
@@ -1612,15 +1612,6 @@ coclass FreeThreadedDOMDocument40
|
||||
@@ -259,10 +259,10 @@ index 916e0e8ab3d..1d1ba7a5248 100644
|
||||
helpstring("SAXAttributes"),
|
||||
progid("Msxml2.SAXAttributes"),
|
||||
diff --git a/include/msxml6.idl b/include/msxml6.idl
|
||||
index 4948de39f1f..e6a0a5feda5 100644
|
||||
index d4a5c490243..7396826a1f6 100644
|
||||
--- a/include/msxml6.idl
|
||||
+++ b/include/msxml6.idl
|
||||
@@ -3048,18 +3048,6 @@ coclass DOMDocument60
|
||||
@@ -3065,18 +3065,6 @@ coclass DOMDocument60
|
||||
[default, source] dispinterface XMLDOMDocumentEvents;
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@ index 4948de39f1f..e6a0a5feda5 100644
|
||||
[
|
||||
helpstring("SAX XML Reader 6.0"),
|
||||
progid("Msxml2.SAXXMLReader.6.0"),
|
||||
@@ -3165,6 +3153,18 @@ coclass XSLTemplate60
|
||||
@@ -3182,6 +3170,18 @@ coclass XSLTemplate60
|
||||
[default] interface IXSLTemplate;
|
||||
}
|
||||
|
||||
@@ -301,5 +301,5 @@ index 4948de39f1f..e6a0a5feda5 100644
|
||||
helpstring("XML HTTP 6.0"),
|
||||
progid("Msxml2.XMLHTTP.6.0"),
|
||||
--
|
||||
2.34.1
|
||||
2.41.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 19c928c1e4b5737956a694fed6ab2b244365b0f0 Mon Sep 17 00:00:00 2001
|
||||
From e11874a28a68cd3cd9c031f475d59435d94aa3fc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 8 Sep 2020 18:43:52 +0200
|
||||
Subject: [PATCH] msxml3: Implement FreeThreadedXMLHTTP60.
|
||||
@@ -12,7 +12,8 @@ Update from Gijs Vermeulen <gijsvrm@gmail.com>
|
||||
dlls/msxml3/tests/httpreq.c | 395 +++++++++++++++++++++++++++-
|
||||
dlls/msxml3/tests/schema.c | 6 +
|
||||
dlls/msxml3/uuid.c | 5 +
|
||||
7 files changed, 904 insertions(+), 5 deletions(-)
|
||||
include/msxml6.idl | 22 +-
|
||||
8 files changed, 915 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/Makefile.in b/dlls/msxml3/Makefile.in
|
||||
index 2bf789732da..e2d737599b1 100644
|
||||
@@ -1016,7 +1017,7 @@ index bccfbaf582a..23d7680d196 100644
|
||||
CoUninitialize();
|
||||
}
|
||||
diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c
|
||||
index 99c7d35cc10..2b63182e2e4 100644
|
||||
index a4fe29aca02..fd244ee2e1c 100644
|
||||
--- a/dlls/msxml3/tests/schema.c
|
||||
+++ b/dlls/msxml3/tests/schema.c
|
||||
@@ -32,10 +32,16 @@
|
||||
@@ -1059,6 +1060,46 @@ index 333d4f3d3c7..1b4f0452c5f 100644
|
||||
|
||||
/*
|
||||
* Note that because of a #define in msxml2.h, we end up initializing
|
||||
diff --git a/include/msxml6.idl b/include/msxml6.idl
|
||||
index 7396826a1f6..b2d8bd3b337 100644
|
||||
--- a/include/msxml6.idl
|
||||
+++ b/include/msxml6.idl
|
||||
@@ -1715,17 +1715,6 @@ interface ISAXDeclHandler : IUnknown
|
||||
[in] int nSystemId);
|
||||
}
|
||||
|
||||
-[
|
||||
- helpstring("Free Threaded XML HTTP Request class 6.0"),
|
||||
- progid("Msxml2.FreeThreadedXMLHTTP60.6.0"),
|
||||
- threading(both),
|
||||
- uuid(88d96a09-f192-11d4-a65f-0040963251e5)
|
||||
-]
|
||||
-coclass FreeThreadedXMLHTTP60
|
||||
-{
|
||||
- [default] interface IXMLHTTPRequest2;
|
||||
-}
|
||||
-
|
||||
[
|
||||
object,
|
||||
local,
|
||||
@@ -3053,6 +3042,17 @@ interface ISchemaNotation;
|
||||
SCHEMATYPEVARIETY __schemaTypeVariety__;
|
||||
} __msxml6_ReferenceRemainingTypes__;
|
||||
|
||||
+[
|
||||
+ helpstring("Free Threaded XML HTTP Request class 6.0"),
|
||||
+ progid("Msxml2.FreeThreadedXMLHTTP60.6.0"),
|
||||
+ threading(both),
|
||||
+ uuid(88d96a09-f192-11d4-a65f-0040963251e5)
|
||||
+]
|
||||
+coclass FreeThreadedXMLHTTP60
|
||||
+{
|
||||
+ [default] interface IXMLHTTPRequest2;
|
||||
+}
|
||||
+
|
||||
[
|
||||
helpstring("XML DOM Document 6.0"),
|
||||
progid("Msxml2.DOMDocument.6.0"),
|
||||
--
|
||||
2.40.1
|
||||
2.41.0
|
||||
|
@@ -1,17 +1,17 @@
|
||||
From b6db59b7d1a7ca08a2cb3c0fb52145fa89cd2e17 Mon Sep 17 00:00:00 2001
|
||||
From 7a0c4087a5a3a2afe1c87c55874fcc2c1f10b3b2 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 5 Jan 2023 14:36:31 +1100
|
||||
Subject: [PATCH 2/4] msxml3: Implement IXMLHTTPRequest3 SetProperty
|
||||
Subject: [PATCH] msxml3: Implement IXMLHTTPRequest3 SetProperty
|
||||
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 77 ++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 75 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index 98dd23c9fbb..d8360680411 100644
|
||||
index d059c20ae81..0e28fea0437 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -102,6 +102,21 @@ typedef struct
|
||||
@@ -101,6 +101,21 @@ typedef struct
|
||||
|
||||
/* IObjectSafety */
|
||||
DWORD safeopt;
|
||||
@@ -33,7 +33,7 @@ index 98dd23c9fbb..d8360680411 100644
|
||||
} httprequest;
|
||||
|
||||
typedef struct
|
||||
@@ -2230,8 +2245,52 @@ static HRESULT WINAPI xml_http_request_2_SetCustomResponseStream(IXMLHTTPRequest
|
||||
@@ -2229,8 +2244,52 @@ static HRESULT WINAPI xml_http_request_2_SetCustomResponseStream(IXMLHTTPRequest
|
||||
static HRESULT WINAPI xml_http_request_2_SetProperty(IXMLHTTPRequest3 *iface, XHR_PROPERTY property, ULONGLONG value)
|
||||
{
|
||||
struct xml_http_request_2 *This = impl_from_IXMLHTTPRequest3(iface);
|
||||
@@ -88,7 +88,7 @@ index 98dd23c9fbb..d8360680411 100644
|
||||
}
|
||||
|
||||
static HRESULT WINAPI xml_http_request_2_SetRequestHeader(IXMLHTTPRequest3 *iface,
|
||||
@@ -2551,6 +2610,20 @@ static void init_httprequest(httprequest *req)
|
||||
@@ -2550,6 +2609,20 @@ static void init_httprequest(httprequest *req)
|
||||
|
||||
req->site = NULL;
|
||||
req->safeopt = 0;
|
||||
@@ -110,5 +110,5 @@ index 98dd23c9fbb..d8360680411 100644
|
||||
|
||||
HRESULT XMLHTTPRequest_create(void **obj)
|
||||
--
|
||||
2.39.0
|
||||
2.41.0
|
||||
|
@@ -1,17 +1,17 @@
|
||||
From a4077e33ab9e41927433479a9a8af9ed11990c04 Mon Sep 17 00:00:00 2001
|
||||
From ea093721b1f774dee875dc930d8bd084dd32875b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 12 Jan 2023 08:21:48 +1100
|
||||
Subject: [PATCH 4/4] msxml3: Correct xml_http_request_2_GetResponseHeader
|
||||
Subject: [PATCH] msxml3: Correct xml_http_request_2_GetResponseHeader
|
||||
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index 48ed444576e..111ac39f62f 100644
|
||||
index 0e28fea0437..ee46885dabd 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -2339,8 +2339,7 @@ static HRESULT WINAPI xml_http_request_2_GetResponseHeader(IXMLHTTPRequest3 *ifa
|
||||
@@ -2324,8 +2324,7 @@ static HRESULT WINAPI xml_http_request_2_GetResponseHeader(IXMLHTTPRequest3 *ifa
|
||||
|
||||
TRACE("(%p)->(%s %p)\n", This, debugstr_w(header), value);
|
||||
|
||||
@@ -22,5 +22,5 @@ index 48ed444576e..111ac39f62f 100644
|
||||
#define E_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x80070002)
|
||||
|
||||
--
|
||||
2.39.0
|
||||
2.41.0
|
||||
|
@@ -0,0 +1,66 @@
|
||||
From 3ef2f1338b0b315bc3bf887b67646d29e5c839a9 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Thu, 5 Oct 2023 11:38:00 -0600
|
||||
Subject: [PATCH] msxml3: Treat body as data array in
|
||||
xml_http_request_2_IRtwqAsyncCallback_Invoke().
|
||||
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 26 ++++++++++++++++++++------
|
||||
1 file changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index ee46885dabd..0e3a06bf920 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -2411,6 +2411,7 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
IRtwqAsyncResult *result)
|
||||
{
|
||||
struct xml_http_request_2 *This = xml_http_request_2_from_IRtwqAsyncCallback(iface);
|
||||
+ SAFEARRAY *sa = NULL;
|
||||
VARIANT body_v;
|
||||
HRESULT hr;
|
||||
ULONG read;
|
||||
@@ -2421,14 +2422,25 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
|
||||
if (This->request_body)
|
||||
{
|
||||
- V_VT(&body_v) = VT_BSTR;
|
||||
- V_BSTR(&body_v) = CoTaskMemAlloc(This->request_body_size);
|
||||
+ SAFEARRAYBOUND bound;
|
||||
+ void *ptr;
|
||||
|
||||
- if (FAILED(hr = ISequentialStream_Read(This->request_body, V_BSTR(&body_v), This->request_body_size, &read)) ||
|
||||
- read < This->request_body_size)
|
||||
+ bound.lLbound = 0;
|
||||
+ bound.cElements = This->request_body_size;
|
||||
+ if (!(sa = SafeArrayCreate(VT_UI1, 1, &bound)))
|
||||
+ {
|
||||
+ ERR("No memory.\n");
|
||||
+ hr = E_OUTOFMEMORY;
|
||||
+ goto done;
|
||||
+ }
|
||||
+ V_ARRAY(&body_v) = sa;
|
||||
+ V_VT(&body_v) = VT_ARRAY | VT_UI1;
|
||||
+ SafeArrayAccessData(sa, &ptr);
|
||||
+ hr = ISequentialStream_Read(This->request_body, ptr, This->request_body_size, &read);
|
||||
+ SafeArrayUnaccessData(sa);
|
||||
+ if (FAILED(hr) || read < This->request_body_size)
|
||||
{
|
||||
- ERR("Failed to allocate request body memory, hr %#lx\n", hr);
|
||||
- CoTaskMemFree(V_BSTR(&body_v));
|
||||
+ ERR("Failed to read from stream, hr %#lx\n", hr);
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -2439,6 +2451,8 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
hr = httprequest_send(&This->req, body_v);
|
||||
|
||||
done:
|
||||
+ if (sa)
|
||||
+ SafeArrayDestroy(sa);
|
||||
return IRtwqAsyncResult_SetStatus(result, hr);
|
||||
}
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -1,100 +0,0 @@
|
||||
From 19e3e3de97851559f2b5d67582e8b58606a4d7ff Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 5 Jan 2023 14:36:08 +1100
|
||||
Subject: [PATCH] msxml3: Copy body size to request object
|
||||
|
||||
Dont assume that the data needs to be convert
|
||||
|
||||
NOTE: should use SetProperty value.
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 46 +++++++++++++++++++++++++++------------
|
||||
1 file changed, 32 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index d8360680411..e7e66dec202 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -117,6 +117,7 @@ typedef struct
|
||||
DWORD enterrprised_id;
|
||||
DWORD max_connections;
|
||||
|
||||
+ ULONGLONG request_body_size;
|
||||
} httprequest;
|
||||
|
||||
typedef struct
|
||||
@@ -737,27 +738,40 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
|
||||
{
|
||||
case VT_BSTR:
|
||||
{
|
||||
- int len = SysStringLen(V_BSTR(body));
|
||||
- const WCHAR *str = V_BSTR(body);
|
||||
- UINT i, cp = CP_ACP;
|
||||
+ int len = This->request_body_size ? This->request_body_size : SysStringLen(V_BSTR(body));
|
||||
|
||||
- for (i = 0; i < len; i++)
|
||||
+ if(!This->request_body_size)
|
||||
{
|
||||
- if (str[i] > 127)
|
||||
+ const WCHAR *str = V_BSTR(body);
|
||||
+ UINT i, cp = CP_ACP;
|
||||
+
|
||||
+ for (i = 0; i < len; i++)
|
||||
{
|
||||
- cp = CP_UTF8;
|
||||
- break;
|
||||
+ if (str[i] > 127)
|
||||
+ {
|
||||
+ cp = CP_UTF8;
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
+ size = WideCharToMultiByte(cp, 0, str, len, NULL, 0, NULL, NULL);
|
||||
+ if (!(ptr = heap_alloc(size)))
|
||||
+ {
|
||||
+ heap_free(bsc);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ WideCharToMultiByte(cp, 0, str, len, ptr, size, NULL, NULL);
|
||||
+ if (cp == CP_UTF8) This->use_utf8_content = TRUE;
|
||||
}
|
||||
-
|
||||
- size = WideCharToMultiByte(cp, 0, str, len, NULL, 0, NULL, NULL);
|
||||
- if (!(ptr = heap_alloc(size)))
|
||||
+ else
|
||||
{
|
||||
- heap_free(bsc);
|
||||
- return E_OUTOFMEMORY;
|
||||
+ size = This->request_body_size;
|
||||
+ if (!(ptr = heap_alloc(size)))
|
||||
+ {
|
||||
+ heap_free(bsc);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ memcpy(ptr, V_BSTR(body), size);
|
||||
}
|
||||
- WideCharToMultiByte(cp, 0, str, len, ptr, size, NULL, NULL);
|
||||
- if (cp == CP_UTF8) This->use_utf8_content = TRUE;
|
||||
break;
|
||||
}
|
||||
case VT_ARRAY|VT_UI1:
|
||||
@@ -2436,6 +2450,8 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
|
||||
ISequentialStream_Release(This->request_body);
|
||||
This->request_body = NULL;
|
||||
+
|
||||
+ This->req.request_body_size = This->request_body_size;
|
||||
}
|
||||
|
||||
hr = httprequest_send(&This->req, body_v);
|
||||
@@ -2624,6 +2640,8 @@ static void init_httprequest(httprequest *req)
|
||||
req->threshold = 0x100;
|
||||
req->enterrprised_id = 0;
|
||||
req->max_connections = 10;
|
||||
+
|
||||
+ req->request_body_size = 0;
|
||||
}
|
||||
|
||||
HRESULT XMLHTTPRequest_create(void **obj)
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,79 @@
|
||||
From d157a334b25ae669d1ff35d5bba36d66f7295188 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Thu, 5 Oct 2023 12:05:28 -0600
|
||||
Subject: [PATCH] msxml3: Try to get body size from stream in
|
||||
xml_http_request_2_IRtwqAsyncCallback_Invoke().
|
||||
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 30 +++++++++++++++++++++++++++---
|
||||
1 file changed, 27 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index 0e3a06bf920..186deb5e54a 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -2411,6 +2411,7 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
IRtwqAsyncResult *result)
|
||||
{
|
||||
struct xml_http_request_2 *This = xml_http_request_2_from_IRtwqAsyncCallback(iface);
|
||||
+ IStream *stream = NULL;
|
||||
SAFEARRAY *sa = NULL;
|
||||
VARIANT body_v;
|
||||
HRESULT hr;
|
||||
@@ -2423,10 +2424,27 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
if (This->request_body)
|
||||
{
|
||||
SAFEARRAYBOUND bound;
|
||||
+ ULONGLONG body_size;
|
||||
+ STATSTG stream_stat;
|
||||
+ LARGE_INTEGER li;
|
||||
void *ptr;
|
||||
|
||||
+ if (SUCCEEDED(ISequentialStream_QueryInterface(This->request_body, &IID_IStream, (void **)&stream))
|
||||
+ && SUCCEEDED(IStream_Stat(stream, &stream_stat, 0)))
|
||||
+ {
|
||||
+ body_size = stream_stat.cbSize.QuadPart;
|
||||
+ li.QuadPart = 0;
|
||||
+ IStream_Seek(stream, li, STREAM_SEEK_SET, NULL);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ body_size = This->request_body_size;
|
||||
+ }
|
||||
+
|
||||
+ TRACE("body_size %I64u.\n", body_size);
|
||||
+
|
||||
bound.lLbound = 0;
|
||||
- bound.cElements = This->request_body_size;
|
||||
+ bound.cElements = body_size;
|
||||
if (!(sa = SafeArrayCreate(VT_UI1, 1, &bound)))
|
||||
{
|
||||
ERR("No memory.\n");
|
||||
@@ -2436,9 +2454,13 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
V_ARRAY(&body_v) = sa;
|
||||
V_VT(&body_v) = VT_ARRAY | VT_UI1;
|
||||
SafeArrayAccessData(sa, &ptr);
|
||||
- hr = ISequentialStream_Read(This->request_body, ptr, This->request_body_size, &read);
|
||||
+
|
||||
+ if (stream)
|
||||
+ hr = IStream_Read(stream, ptr, body_size, &read);
|
||||
+ else
|
||||
+ hr = ISequentialStream_Read(This->request_body, ptr, body_size, &read);
|
||||
SafeArrayUnaccessData(sa);
|
||||
- if (FAILED(hr) || read < This->request_body_size)
|
||||
+ if (FAILED(hr) || read < body_size)
|
||||
{
|
||||
ERR("Failed to read from stream, hr %#lx\n", hr);
|
||||
goto done;
|
||||
@@ -2453,6 +2475,8 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
done:
|
||||
if (sa)
|
||||
SafeArrayDestroy(sa);
|
||||
+ if (stream)
|
||||
+ IStream_Release(stream);
|
||||
return IRtwqAsyncResult_SetStatus(result, hr);
|
||||
}
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -0,0 +1,32 @@
|
||||
From 90c794e738044606c36d769a38817fdbb7e141a1 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Thu, 5 Oct 2023 12:02:44 -0600
|
||||
Subject: [PATCH] msxml3: Don't fail
|
||||
xml_http_request_2_IRtwqAsyncCallback_Invoke() on stream read failures.
|
||||
|
||||
---
|
||||
dlls/msxml3/httprequest.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
|
||||
index 186deb5e54a..72a54740e18 100644
|
||||
--- a/dlls/msxml3/httprequest.c
|
||||
+++ b/dlls/msxml3/httprequest.c
|
||||
@@ -2462,8 +2462,12 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
|
||||
SafeArrayUnaccessData(sa);
|
||||
if (FAILED(hr) || read < body_size)
|
||||
{
|
||||
- ERR("Failed to read from stream, hr %#lx\n", hr);
|
||||
- goto done;
|
||||
+ /* Windows doesn't send the body in this case but still sends request with Content-Length
|
||||
+ * set to requested body size. */
|
||||
+ ERR("Failed to read from stream, hr %#lx, read %lu\n", hr, read);
|
||||
+ SafeArrayDestroy(sa);
|
||||
+ sa = NULL;
|
||||
+ V_VT(&body_v) = VT_NULL;
|
||||
}
|
||||
|
||||
ISequentialStream_Release(This->request_body);
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -1,7 +1,8 @@
|
||||
From 70b8fd99f84708447779b45735e0553755f1b8bb Mon Sep 17 00:00:00 2001
|
||||
From 762d7992e4a328d9fd94e3960c98951ead0e1a0a Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
|
||||
Date: Sat, 6 Feb 2021 12:46:30 -0700
|
||||
Subject: kernelbase: Add support for moving reparse points with MoveFile*.
|
||||
Subject: [PATCH] kernelbase: Add support for moving reparse points with
|
||||
MoveFile*.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@@ -12,10 +13,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
4 files changed, 36 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
|
||||
index 17c25eb5858..53b9651a8fa 100644
|
||||
index abec5367512..d7c3797d4a9 100644
|
||||
--- a/dlls/kernelbase/file.c
|
||||
+++ b/dlls/kernelbase/file.c
|
||||
@@ -2471,7 +2471,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH MoveFileWithProgressW( const WCHAR *source, const
|
||||
@@ -2580,7 +2580,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH MoveFileWithProgressW( const WCHAR *source, const
|
||||
|
||||
status = NtOpenFile( &source_handle, DELETE | SYNCHRONIZE, &attr, &io,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||
@@ -25,10 +26,10 @@ index 17c25eb5858..53b9651a8fa 100644
|
||||
if (!set_ntstatus( status )) goto error;
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 48abcd338bb..808d863ea55 100644
|
||||
index a25b6820291..70b10c56ea0 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -5381,7 +5381,8 @@ static INT build_reparse_buffer(const WCHAR *filename, ULONG tag, ULONG flags,
|
||||
@@ -5666,7 +5666,8 @@ static INT build_reparse_buffer(const WCHAR *filename, ULONG tag, ULONG flags,
|
||||
|
||||
static void test_reparse_points(void)
|
||||
{
|
||||
@@ -38,7 +39,7 @@ index 48abcd338bb..808d863ea55 100644
|
||||
static const WCHAR reparseW[] = {'\\','r','e','p','a','r','s','e',0};
|
||||
static const WCHAR targetW[] = {'\\','t','a','r','g','e','t',0};
|
||||
static const WCHAR parentW[] = {'\\','.','.','\\',0};
|
||||
@@ -5752,6 +5753,15 @@ static void test_reparse_points(void)
|
||||
@@ -6037,6 +6038,15 @@ static void test_reparse_points(void)
|
||||
wine_dbgstr_w(dest), wine_dbgstr_w(rel_target));
|
||||
CloseHandle(handle);
|
||||
|
||||
@@ -55,21 +56,21 @@ index 48abcd338bb..808d863ea55 100644
|
||||
/* Cleanup */
|
||||
pRtlFreeUnicodeString(&nameW);
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 948074b35ec..9ae5e194c6d 100644
|
||||
index 1b35463e069..d2e57f5a127 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -5328,8 +5328,10 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
if (len >= sizeof(FILE_RENAME_INFORMATION))
|
||||
@@ -5395,8 +5395,10 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
{
|
||||
FILE_RENAME_INFORMATION *info = ptr;
|
||||
unsigned int flags;
|
||||
+ REPARSE_DATA_BUFFER *buffer = NULL;
|
||||
UNICODE_STRING name_str, redir;
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
+ ULONG buffer_len = 0;
|
||||
char *unix_name;
|
||||
|
||||
name_str.Buffer = info->FileName;
|
||||
@@ -5338,6 +5340,19 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
if (class == FileRenameInformation)
|
||||
@@ -5413,6 +5415,19 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
InitializeObjectAttributes( &attr, &name_str, OBJ_CASE_INSENSITIVE, info->RootDirectory, NULL );
|
||||
get_redirect( &attr, &redir );
|
||||
|
||||
@@ -89,7 +90,7 @@ index 948074b35ec..9ae5e194c6d 100644
|
||||
status = nt_to_unix_file_name( &attr, &unix_name, FILE_OPEN_IF );
|
||||
if (status == STATUS_SUCCESS || status == STATUS_NO_SUCH_FILE)
|
||||
{
|
||||
@@ -5354,9 +5369,14 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
@@ -5429,9 +5444,14 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
}
|
||||
SERVER_END_REQ;
|
||||
|
||||
@@ -105,10 +106,10 @@ index 948074b35ec..9ae5e194c6d 100644
|
||||
else status = STATUS_INVALID_PARAMETER_3;
|
||||
break;
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index 1ed975673a6..60ba552f769 100644
|
||||
index b0cbf28d543..5f1b4ac3114 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -2704,7 +2704,7 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
@@ -2695,7 +2695,7 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
goto failed;
|
||||
}
|
||||
|
||||
@@ -117,7 +118,7 @@ index 1ed975673a6..60ba552f769 100644
|
||||
{
|
||||
if (!fstat( fd->unix_fd, &st2 ) && st.st_ino == st2.st_ino && st.st_dev == st2.st_dev)
|
||||
{
|
||||
@@ -2720,7 +2720,7 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
@@ -2711,7 +2711,7 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
}
|
||||
|
||||
/* can't replace directories or special files */
|
||||
@@ -126,7 +127,7 @@ index 1ed975673a6..60ba552f769 100644
|
||||
{
|
||||
set_error( STATUS_ACCESS_DENIED );
|
||||
goto failed;
|
||||
@@ -2778,6 +2778,8 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
@@ -2769,6 +2769,8 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da
|
||||
fd->nt_name = dup_nt_name( root, nt_name, &fd->nt_namelen );
|
||||
free( fd->unix_name );
|
||||
fd->closed->unix_name = fd->unix_name = realpath( name, NULL );
|
||||
@@ -136,5 +137,5 @@ index 1ed975673a6..60ba552f769 100644
|
||||
if (!fd->unix_name)
|
||||
set_error( STATUS_NO_MEMORY );
|
||||
--
|
||||
2.17.1
|
||||
2.42.0
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user