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
34 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
552b03f70a | ||
|
1f218b6822 | ||
|
d9e4a75d19 | ||
|
0106909ec5 | ||
|
ec592e937b | ||
|
4bc5bffe2f | ||
|
f2648a9a40 | ||
|
1d21e2b6f5 | ||
|
fcaab59ec5 | ||
|
8708356647 | ||
|
d3ed71430a | ||
|
fb2b3b3c69 | ||
|
9fd1bb66d3 | ||
|
86091d3b1f | ||
|
ab31919ee5 | ||
|
6638f9ee79 | ||
|
92ce758ac8 | ||
|
0de9d1028b | ||
|
7a2920aa2a | ||
|
cd8ca4d7d6 | ||
|
7cecf22dcc | ||
|
eb479ea60c | ||
|
a500c9ce42 | ||
|
35d13b744e | ||
|
f7d87c5bfb | ||
|
0acaed0ae5 | ||
|
8699d2c2f6 | ||
|
e7622edfc9 | ||
|
c9652a68e1 | ||
|
6be691c005 | ||
|
850b7f6540 | ||
|
776c47da46 | ||
|
a51c679f34 | ||
|
366a9020dc |
13
.github/workflows/macOS.yml
vendored
13
.github/workflows/macOS.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
brew install bison \
|
||||
gphoto2 \
|
||||
gst-plugins-base \
|
||||
gcenx/wine/mingw-w64@9 \
|
||||
mingw-w64 \
|
||||
molten-vk \
|
||||
sdl2
|
||||
|
||||
@@ -28,7 +28,6 @@ jobs:
|
||||
set -eu
|
||||
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix krb5)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix mingw-w64@9)/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get upstream-commit
|
||||
run: |
|
||||
@@ -62,8 +61,6 @@ jobs:
|
||||
--x-lib=/opt/X11/lib
|
||||
|
||||
- name: Build wine64
|
||||
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
|
||||
# use gcenx/wine/mingw-w64@9 this uses binutils 2.37
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
make -j$(sysctl -n hw.ncpu 2>/dev/null)
|
||||
@@ -79,12 +76,9 @@ jobs:
|
||||
brew update
|
||||
brew install --cask xquartz
|
||||
brew install bison \
|
||||
faudio \
|
||||
gphoto2 \
|
||||
gst-plugins-base \
|
||||
jxrlib \
|
||||
little-cms2 \
|
||||
gcenx/wine/mingw-w64@9 \
|
||||
mingw-w64 \
|
||||
molten-vk \
|
||||
mpg123
|
||||
|
||||
@@ -93,7 +87,6 @@ jobs:
|
||||
set -eu
|
||||
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix krb5)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix mingw-w64@9)/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get upstream-commit
|
||||
run: |
|
||||
@@ -125,8 +118,6 @@ jobs:
|
||||
--x-lib=/opt/X11/lib
|
||||
|
||||
- name: Build wine64
|
||||
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
|
||||
# use gcenx/wine/mingw-w64@9 this uses binutils 2.37
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
make -j$(sysctl -n hw.ncpu 2>/dev/null)
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From 4498bb259a9ab5e5bf6f8a55dc96b6ac24c82e09 Mon Sep 17 00:00:00 2001
|
||||
From 9028351204472aafe5d7731c8737a6cfdb09e659 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:56:19 +0200
|
||||
Subject: ddraw/tests: Add more tests for IDirect3DTexture2::Load.
|
||||
Subject: [PATCH] ddraw/tests: Add more tests for IDirect3DTexture2::Load.
|
||||
|
||||
---
|
||||
dlls/ddraw/tests/d3d.c | 373 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ddraw/tests/ddraw2.c | 28 +++-
|
||||
dlls/ddraw/tests/d3d.c | 373 ++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ddraw/tests/ddraw2.c | 28 ++-
|
||||
2 files changed, 400 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
|
||||
index ec4197a..d35d0e0 100644
|
||||
index 87d0648b699..e88bbf59767 100644
|
||||
--- a/dlls/ddraw/tests/d3d.c
|
||||
+++ b/dlls/ddraw/tests/d3d.c
|
||||
@@ -1515,6 +1515,288 @@ static BOOL colortables_check_equality(PALETTEENTRY table1[256], PALETTEENTRY ta
|
||||
@@ -1221,6 +1221,288 @@ static BOOL colortables_check_equality(PALETTEENTRY table1[256], PALETTEENTRY ta
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -301,9 +301,9 @@ index ec4197a..d35d0e0 100644
|
||||
/* test palette handling in IDirect3DTexture_Load */
|
||||
static void TextureLoadTest(void)
|
||||
{
|
||||
@@ -1578,6 +1860,97 @@ static void TextureLoadTest(void)
|
||||
@@ -1284,6 +1566,97 @@ static void TextureLoadTest(void)
|
||||
hr = IDirect3DTexture_Load(Texture2, Texture);
|
||||
ok(hr == DD_OK, "IDirect3DTexture_Load returned %08x\n", hr);
|
||||
ok(hr == DD_OK, "Got hr %#lx.\n", hr);
|
||||
|
||||
+ for (i = 0; i < sizeof(load_tests) / sizeof(load_tests[0]); i++)
|
||||
+ {
|
||||
@@ -400,10 +400,10 @@ index ec4197a..d35d0e0 100644
|
||||
table1[i].peRed = i;
|
||||
table1[i].peGreen = i;
|
||||
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
|
||||
index 0cb1ca4..a2489e4 100644
|
||||
index 2d08718d131..0a2d575e8cc 100644
|
||||
--- a/dlls/ddraw/tests/ddraw2.c
|
||||
+++ b/dlls/ddraw/tests/ddraw2.c
|
||||
@@ -1121,8 +1121,10 @@ static void test_texture_load_ckey(void)
|
||||
@@ -1495,8 +1495,10 @@ static void test_texture_load_ckey(void)
|
||||
IDirectDraw2 *ddraw = NULL;
|
||||
IDirectDrawSurface *src = NULL;
|
||||
IDirectDrawSurface *dst = NULL;
|
||||
@@ -414,7 +414,7 @@ index 0cb1ca4..a2489e4 100644
|
||||
DDSURFACEDESC ddsd;
|
||||
HRESULT hr;
|
||||
DDCOLORKEY ckey;
|
||||
@@ -1134,16 +1136,31 @@ static void test_texture_load_ckey(void)
|
||||
@@ -1508,16 +1510,31 @@ static void test_texture_load_ckey(void)
|
||||
|
||||
memset(&ddsd, 0, sizeof(ddsd));
|
||||
ddsd.dwSize = sizeof(ddsd);
|
||||
@@ -431,10 +431,10 @@ index 0cb1ca4..a2489e4 100644
|
||||
+ U4(ddsd.ddpfPixelFormat).dwBBitMask = 0x000000FF;
|
||||
+
|
||||
hr = IDirectDraw2_CreateSurface(ddraw, &ddsd, &src, NULL);
|
||||
ok(SUCCEEDED(hr), "Failed to create source texture, hr %#x.\n", hr);
|
||||
ok(SUCCEEDED(hr), "Failed to create source texture, hr %#lx.\n", hr);
|
||||
ddsd.ddsCaps.dwCaps = DDSCAPS_TEXTURE;
|
||||
hr = IDirectDraw2_CreateSurface(ddraw, &ddsd, &dst, NULL);
|
||||
ok(SUCCEEDED(hr), "Failed to create destination texture, hr %#x.\n", hr);
|
||||
ok(SUCCEEDED(hr), "Failed to create destination texture, hr %#lx.\n", hr);
|
||||
|
||||
+ U1(ddsd.ddpfPixelFormat).dwRGBBitCount = 16;
|
||||
+ U2(ddsd.ddpfPixelFormat).dwRBitMask = 0xf800;
|
||||
@@ -445,20 +445,20 @@ index 0cb1ca4..a2489e4 100644
|
||||
+ ok(SUCCEEDED(hr), "Failed to create destination texture, hr %#x.\n", hr);
|
||||
+
|
||||
hr = IDirectDrawSurface_QueryInterface(src, &IID_IDirect3DTexture, (void **)&src_tex);
|
||||
ok(SUCCEEDED(hr) || hr == E_NOINTERFACE, "Failed to get Direct3DTexture interface, hr %#x.\n", hr);
|
||||
ok(SUCCEEDED(hr) || hr == E_NOINTERFACE, "Failed to get Direct3DTexture interface, hr %#lx.\n", hr);
|
||||
if (FAILED(hr))
|
||||
@@ -1154,6 +1171,8 @@ static void test_texture_load_ckey(void)
|
||||
@@ -1528,6 +1545,8 @@ static void test_texture_load_ckey(void)
|
||||
}
|
||||
hr = IDirectDrawSurface_QueryInterface(dst, &IID_IDirect3DTexture, (void **)&dst_tex);
|
||||
ok(SUCCEEDED(hr), "Failed to get Direct3DTexture interface, hr %#x.\n", hr);
|
||||
ok(SUCCEEDED(hr), "Failed to get Direct3DTexture interface, hr %#lx.\n", hr);
|
||||
+ hr = IDirectDrawSurface_QueryInterface(dst2, &IID_IDirect3DTexture, (void **)&dst2_tex);
|
||||
+ ok(SUCCEEDED(hr), "Failed to get Direct3DTexture interface, hr %#x.\n", hr);
|
||||
+ ok(SUCCEEDED(hr), "Failed to get Direct3DTexture interface, hr %#lx.\n", hr);
|
||||
|
||||
/* No surface has a color key */
|
||||
hr = IDirect3DTexture_Load(dst_tex, src_tex);
|
||||
@@ -1182,6 +1201,11 @@ static void test_texture_load_ckey(void)
|
||||
ok(ckey.dwColorSpaceLowValue == 0x0000ff00, "dwColorSpaceLowValue is %#x.\n", ckey.dwColorSpaceLowValue);
|
||||
ok(ckey.dwColorSpaceHighValue == 0x0000ff00, "dwColorSpaceHighValue is %#x.\n", ckey.dwColorSpaceHighValue);
|
||||
@@ -1556,6 +1575,11 @@ static void test_texture_load_ckey(void)
|
||||
ok(ckey.dwColorSpaceLowValue == 0x0000ff00, "Got unexpected value 0x%08lx.\n", ckey.dwColorSpaceLowValue);
|
||||
ok(ckey.dwColorSpaceHighValue == 0x0000ff00, "Got unexpected value 0x%08lx.\n", ckey.dwColorSpaceHighValue);
|
||||
|
||||
+ /* Source surface has a color key but destination differs in format */
|
||||
+ ckey.dwColorSpaceLowValue = ckey.dwColorSpaceHighValue = 0x0;
|
||||
@@ -468,8 +468,8 @@ index 0cb1ca4..a2489e4 100644
|
||||
/* Both surfaces have a color key: Dest ckey is overwritten */
|
||||
ckey.dwColorSpaceLowValue = ckey.dwColorSpaceHighValue = 0x000000ff;
|
||||
hr = IDirectDrawSurface_SetColorKey(dst, DDCKEY_SRCBLT, &ckey);
|
||||
@@ -1206,8 +1230,10 @@ static void test_texture_load_ckey(void)
|
||||
ok(ckey.dwColorSpaceHighValue == 0x0000ff00, "dwColorSpaceHighValue is %#x.\n", ckey.dwColorSpaceHighValue);
|
||||
@@ -1580,8 +1604,10 @@ static void test_texture_load_ckey(void)
|
||||
ok(ckey.dwColorSpaceHighValue == 0x0000ff00, "Got unexpected value 0x%08lx.\n", ckey.dwColorSpaceHighValue);
|
||||
|
||||
done:
|
||||
+ if (dst2_tex) IDirect3DTexture_Release(dst2_tex);
|
||||
@@ -480,5 +480,5 @@ index 0cb1ca4..a2489e4 100644
|
||||
if (src) IDirectDrawSurface_Release(src);
|
||||
if (ddraw) IDirectDraw2_Release(ddraw);
|
||||
--
|
||||
2.4.2
|
||||
2.35.1
|
||||
|
||||
|
144
patches/dsdmo-fx-support/0001-dsdmo-Add-Echo-FX-Support.patch
Normal file
144
patches/dsdmo-fx-support/0001-dsdmo-Add-Echo-FX-Support.patch
Normal file
@@ -0,0 +1,144 @@
|
||||
From 042e39ff36dcecd47af4102e8bb890cb9779db5e Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 13 Aug 2022 11:57:20 +1000
|
||||
Subject: [PATCH 1/2] dsdmo: Add Echo FX Support
|
||||
|
||||
---
|
||||
dlls/dsdmo/dsdmo.idl | 8 ++++
|
||||
dlls/dsdmo/main.c | 97 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 105 insertions(+)
|
||||
|
||||
diff --git a/dlls/dsdmo/dsdmo.idl b/dlls/dsdmo/dsdmo.idl
|
||||
index 7f172084828..c8130f8a1ce 100644
|
||||
--- a/dlls/dsdmo/dsdmo.idl
|
||||
+++ b/dlls/dsdmo/dsdmo.idl
|
||||
@@ -41,3 +41,11 @@ coclass DirectSoundParamEqDMO {}
|
||||
uuid(87fc0268-9a55-4360-95aa-004a1d9de26c)
|
||||
]
|
||||
coclass DirectSoundWavesReverbDMO {}
|
||||
+
|
||||
+[
|
||||
+ uuid(ef3e932c-d40b-4f51-8ccf-3f98f1b29d5d),
|
||||
+ threading(both),
|
||||
+ progid("Microsoft.DirectSoundEchoDMO.1"),
|
||||
+ vi_progid("Microsoft.DirectSoundEchoDMO")
|
||||
+]
|
||||
+coclass DirectSoundEchoDMO {}
|
||||
diff --git a/dlls/dsdmo/main.c b/dlls/dsdmo/main.c
|
||||
index 3b106a8f633..200293f5214 100644
|
||||
--- a/dlls/dsdmo/main.c
|
||||
+++ b/dlls/dsdmo/main.c
|
||||
@@ -947,6 +947,102 @@ static HRESULT waves_reverb_create(IUnknown *outer, IUnknown **out)
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+struct dmo_echofx
|
||||
+{
|
||||
+ struct effect effect;
|
||||
+ IDirectSoundFXEcho IDirectSoundFXEcho_iface;
|
||||
+};
|
||||
+
|
||||
+static inline struct dmo_echofx *impl_from_IDirectSoundFXEcho(IDirectSoundFXEcho *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, struct dmo_echofx, IDirectSoundFXEcho_iface);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI echofx_QueryInterface(IDirectSoundFXEcho *iface, REFIID iid, void **out)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_from_IDirectSoundFXEcho(iface);
|
||||
+ return IUnknown_QueryInterface(effect->effect.outer_unk, iid, out);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI echofx_AddRef(IDirectSoundFXEcho *iface)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_from_IDirectSoundFXEcho(iface);
|
||||
+ return IUnknown_AddRef(effect->effect.outer_unk);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI echofx_Release(IDirectSoundFXEcho *iface)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_from_IDirectSoundFXEcho(iface);
|
||||
+ return IUnknown_Release(effect->effect.outer_unk);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI echofx_SetAllParameters(IDirectSoundFXEcho *iface, const DSFXEcho *echo)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_from_IDirectSoundFXEcho(iface);
|
||||
+ FIXME("(%p) %p\n", effect, echo);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI echofx_GetAllParameters(IDirectSoundFXEcho *iface, DSFXEcho *echo)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_from_IDirectSoundFXEcho(iface);
|
||||
+ FIXME("(%p) %p\n", effect, echo);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const struct IDirectSoundFXEchoVtbl echofx_vtbl =
|
||||
+{
|
||||
+ echofx_QueryInterface,
|
||||
+ echofx_AddRef,
|
||||
+ echofx_Release,
|
||||
+ echofx_SetAllParameters,
|
||||
+ echofx_GetAllParameters
|
||||
+};
|
||||
+
|
||||
+static struct dmo_echofx *impl_echo_from_effect(struct effect *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, struct dmo_echofx, effect);
|
||||
+}
|
||||
+
|
||||
+static void *echo_query_interface(struct effect *iface, REFIID iid)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_echo_from_effect(iface);
|
||||
+
|
||||
+ if (IsEqualGUID(iid, &IID_IDirectSoundFXEcho))
|
||||
+ return &effect->IDirectSoundFXEcho_iface;
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static void echo_destroy(struct effect *iface)
|
||||
+{
|
||||
+ struct dmo_echofx *effect = impl_echo_from_effect(iface);
|
||||
+
|
||||
+ free(effect);
|
||||
+}
|
||||
+
|
||||
+static const struct effect_ops echo_ops =
|
||||
+{
|
||||
+ .destroy = echo_destroy,
|
||||
+ .query_interface = echo_query_interface,
|
||||
+};
|
||||
+
|
||||
+static HRESULT echo_create(IUnknown *outer, IUnknown **out)
|
||||
+{
|
||||
+ struct dmo_echofx *object;
|
||||
+
|
||||
+ if (!(object = calloc(1, sizeof(*object))))
|
||||
+ return E_OUTOFMEMORY;
|
||||
+
|
||||
+ effect_init(&object->effect, outer, &echo_ops);
|
||||
+ object->IDirectSoundFXEcho_iface.lpVtbl = &echofx_vtbl;
|
||||
+
|
||||
+ TRACE("Created echo effect %p.\n", object);
|
||||
+ *out = &object->effect.IUnknown_inner;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
struct class_factory
|
||||
{
|
||||
IClassFactory IClassFactory_iface;
|
||||
@@ -1031,6 +1127,7 @@ class_factories[] =
|
||||
{&GUID_DSFX_STANDARD_I3DL2REVERB, {{&class_factory_vtbl}, reverb_create}},
|
||||
{&GUID_DSFX_STANDARD_PARAMEQ, {{&class_factory_vtbl}, eq_create}},
|
||||
{&GUID_DSFX_WAVES_REVERB, {{&class_factory_vtbl}, waves_reverb_create}},
|
||||
+ {&GUID_DSFX_STANDARD_ECHO, {{&class_factory_vtbl}, echo_create}},
|
||||
};
|
||||
|
||||
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void **out)
|
||||
--
|
||||
2.35.1
|
||||
|
@@ -0,0 +1,145 @@
|
||||
From 7a9faf6c5f18a24f4fcbda2fc3066a4b7dd9a892 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 13 Aug 2022 15:03:46 +1000
|
||||
Subject: [PATCH 2/2] dsdmo: Add Compressor FX Support
|
||||
|
||||
---
|
||||
dlls/dsdmo/dsdmo.idl | 8 ++++
|
||||
dlls/dsdmo/main.c | 97 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 105 insertions(+)
|
||||
|
||||
diff --git a/dlls/dsdmo/dsdmo.idl b/dlls/dsdmo/dsdmo.idl
|
||||
index c8130f8a1ce..ee3154f64d1 100644
|
||||
--- a/dlls/dsdmo/dsdmo.idl
|
||||
+++ b/dlls/dsdmo/dsdmo.idl
|
||||
@@ -49,3 +49,11 @@ coclass DirectSoundWavesReverbDMO {}
|
||||
vi_progid("Microsoft.DirectSoundEchoDMO")
|
||||
]
|
||||
coclass DirectSoundEchoDMO {}
|
||||
+
|
||||
+[
|
||||
+ uuid(ef011f79-4000-406d-87af-bffb3fc39d57),
|
||||
+ threading(both),
|
||||
+ progid("Microsoft.DirectSoundCompressorDMO.1"),
|
||||
+ vi_progid("Microsoft.DirectSoundCompressorDMO")
|
||||
+]
|
||||
+coclass DirectSoundCompressorDMO {}
|
||||
\ No newline at end of file
|
||||
diff --git a/dlls/dsdmo/main.c b/dlls/dsdmo/main.c
|
||||
index 200293f5214..bb19b7b7e2e 100644
|
||||
--- a/dlls/dsdmo/main.c
|
||||
+++ b/dlls/dsdmo/main.c
|
||||
@@ -1043,6 +1043,102 @@ static HRESULT echo_create(IUnknown *outer, IUnknown **out)
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+struct dmo_compressorfx
|
||||
+{
|
||||
+ struct effect effect;
|
||||
+ IDirectSoundFXCompressor IDirectSoundFXCompressor_iface;
|
||||
+};
|
||||
+
|
||||
+static inline struct dmo_compressorfx *impl_from_IDirectSoundFXCompressor(IDirectSoundFXCompressor *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, struct dmo_compressorfx, IDirectSoundFXCompressor_iface);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI compressorfx_QueryInterface(IDirectSoundFXCompressor *iface, REFIID iid, void **out)
|
||||
+{
|
||||
+ struct dmo_compressorfx *effect = impl_from_IDirectSoundFXCompressor(iface);
|
||||
+ return IUnknown_QueryInterface(effect->effect.outer_unk, iid, out);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI compressorfx_AddRef(IDirectSoundFXCompressor *iface)
|
||||
+{
|
||||
+ struct dmo_compressorfx *effect = impl_from_IDirectSoundFXCompressor(iface);
|
||||
+ return IUnknown_AddRef(effect->effect.outer_unk);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI compressorfx_Release(IDirectSoundFXCompressor *iface)
|
||||
+{
|
||||
+ struct dmo_compressorfx *effect = impl_from_IDirectSoundFXCompressor(iface);
|
||||
+ return IUnknown_Release(effect->effect.outer_unk);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI compressorfx_SetAllParameters(IDirectSoundFXCompressor *iface, const DSFXCompressor *compressor)
|
||||
+{
|
||||
+ struct dmo_compressorfx *This = impl_from_IDirectSoundFXCompressor(iface);
|
||||
+ FIXME("(%p) %p\n", This, compressor);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI compressorfx_GetAllParameters(IDirectSoundFXCompressor *iface, DSFXCompressor *compressor)
|
||||
+{
|
||||
+ struct dmo_compressorfx *This = impl_from_IDirectSoundFXCompressor(iface);
|
||||
+ FIXME("(%p) %p\n", This, compressor);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const struct IDirectSoundFXCompressorVtbl compressor_vtbl =
|
||||
+{
|
||||
+ compressorfx_QueryInterface,
|
||||
+ compressorfx_AddRef,
|
||||
+ compressorfx_Release,
|
||||
+ compressorfx_SetAllParameters,
|
||||
+ compressorfx_GetAllParameters
|
||||
+};
|
||||
+
|
||||
+static struct dmo_compressorfx *impl_compressor_from_effect(struct effect *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, struct dmo_compressorfx, effect);
|
||||
+}
|
||||
+
|
||||
+static void *compressor_query_interface(struct effect *iface, REFIID iid)
|
||||
+{
|
||||
+ struct dmo_compressorfx *effect = impl_compressor_from_effect(iface);
|
||||
+
|
||||
+ if (IsEqualGUID(iid, &IID_IDirectSoundFXCompressor))
|
||||
+ return &effect->IDirectSoundFXCompressor_iface;
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static void compressor_destroy(struct effect *iface)
|
||||
+{
|
||||
+ struct dmo_compressorfx *effect = impl_compressor_from_effect(iface);
|
||||
+
|
||||
+ free(effect);
|
||||
+}
|
||||
+
|
||||
+static const struct effect_ops compressor_ops =
|
||||
+{
|
||||
+ .destroy = compressor_destroy,
|
||||
+ .query_interface = compressor_query_interface,
|
||||
+};
|
||||
+
|
||||
+static HRESULT compressor_create(IUnknown *outer, IUnknown **out)
|
||||
+{
|
||||
+ struct dmo_compressorfx *object;
|
||||
+
|
||||
+ if (!(object = calloc(1, sizeof(*object))))
|
||||
+ return E_OUTOFMEMORY;
|
||||
+
|
||||
+ effect_init(&object->effect, outer, &compressor_ops);
|
||||
+ object->IDirectSoundFXCompressor_iface.lpVtbl = &compressor_vtbl;
|
||||
+
|
||||
+ TRACE("Created compressor effect %p.\n", object);
|
||||
+ *out = &object->effect.IUnknown_inner;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
struct class_factory
|
||||
{
|
||||
IClassFactory IClassFactory_iface;
|
||||
@@ -1128,6 +1224,7 @@ class_factories[] =
|
||||
{&GUID_DSFX_STANDARD_PARAMEQ, {{&class_factory_vtbl}, eq_create}},
|
||||
{&GUID_DSFX_WAVES_REVERB, {{&class_factory_vtbl}, waves_reverb_create}},
|
||||
{&GUID_DSFX_STANDARD_ECHO, {{&class_factory_vtbl}, echo_create}},
|
||||
+ {&GUID_DSFX_STANDARD_COMPRESSOR, {{&class_factory_vtbl}, compressor_create}},
|
||||
};
|
||||
|
||||
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void **out)
|
||||
--
|
||||
2.35.1
|
||||
|
1
patches/dsdmo-fx-support/definition
Normal file
1
patches/dsdmo-fx-support/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [52396] dsdmo: Add More FX interfaces.
|
@@ -1 +1,2 @@
|
||||
Fixes: [44052] - Support for font fallback.
|
||||
Disabled: True
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 3e714e2eb10fe17f12b747731c0ce7e18fd4b7a0 Mon Sep 17 00:00:00 2001
|
||||
From 61fb7e02aa6779469e94c79f1132c4991cb27244 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 15:11:12 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for process objects.
|
||||
@@ -40,16 +40,16 @@ index c7b0323f204..27049ffbdb0 100644
|
||||
{
|
||||
struct esync *esync;
|
||||
diff --git a/server/esync.h b/server/esync.h
|
||||
index 7ca4ca89394..6a0a367124d 100644
|
||||
index 00f9e638d83..8522d8a69ae 100644
|
||||
--- a/server/esync.h
|
||||
+++ b/server/esync.h
|
||||
@@ -20,3 +20,4 @@
|
||||
@@ -22,3 +22,4 @@
|
||||
|
||||
extern int do_esync(void);
|
||||
void esync_init(void);
|
||||
+int esync_create_fd( int initval, int flags );
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index da972a41955..91b26d00ec0 100644
|
||||
index da11b90c613..22ac16fb540 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -63,6 +63,7 @@
|
||||
@@ -77,7 +77,7 @@ index da972a41955..91b26d00ec0 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -684,6 +686,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
@@ -686,6 +688,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
process->rawinput_mouse = NULL;
|
||||
process->rawinput_kbd = NULL;
|
||||
memset( &process->image_info, 0, sizeof(process->image_info) );
|
||||
@@ -85,7 +85,7 @@ index da972a41955..91b26d00ec0 100644
|
||||
list_init( &process->kernel_object );
|
||||
list_init( &process->thread_list );
|
||||
list_init( &process->locks );
|
||||
@@ -741,6 +744,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
@@ -742,6 +745,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
if (!token_assign_label( process->token, &high_label_sid ))
|
||||
goto error;
|
||||
|
||||
@@ -95,15 +95,15 @@ index da972a41955..91b26d00ec0 100644
|
||||
set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */
|
||||
return process;
|
||||
|
||||
@@ -787,6 +793,7 @@ static void process_destroy( struct object *obj )
|
||||
if (process->token) release_object( process->token );
|
||||
@@ -789,6 +795,7 @@ static void process_destroy( struct object *obj )
|
||||
free( process->rawinput_devices );
|
||||
free( process->dir_cache );
|
||||
free( process->image );
|
||||
+ if (do_esync()) close( process->esync_fd );
|
||||
}
|
||||
|
||||
/* dump a process on stdout for debugging purposes */
|
||||
@@ -804,6 +811,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
@@ -806,6 +813,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
return !process->running_threads;
|
||||
}
|
||||
|
||||
@@ -118,10 +118,10 @@ index da972a41955..91b26d00ec0 100644
|
||||
{
|
||||
access = default_map_access( obj, access );
|
||||
diff --git a/server/process.h b/server/process.h
|
||||
index 632faf9c4bf..1ba69b3406e 100644
|
||||
index 97e0d455ece..a0a071d8f88 100644
|
||||
--- a/server/process.h
|
||||
+++ b/server/process.h
|
||||
@@ -90,6 +90,7 @@ struct process
|
||||
@@ -85,6 +85,7 @@ struct process
|
||||
const struct rawinput_device *rawinput_kbd; /* rawinput keyboard device, if any */
|
||||
struct list kernel_object; /* list of kernel object pointers */
|
||||
pe_image_info_t image_info; /* main exe image info */
|
||||
@@ -130,5 +130,5 @@ index 632faf9c4bf..1ba69b3406e 100644
|
||||
|
||||
/* process functions */
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e0a89702e35941e75ce06f795966c92b3f195ed8 Mon Sep 17 00:00:00 2001
|
||||
From ca6a89f3bfb6aa5d7ac05bb0c469b527ae1a9d9d Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 16:11:23 -0500
|
||||
Subject: [PATCH] server, ntdll: Implement message waits.
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] server, ntdll: Implement message waits.
|
||||
3 files changed, 75 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
|
||||
index fcbe563bb5a..88490e08ef9 100644
|
||||
index 2ae334d8417..608c318c1c7 100644
|
||||
--- a/dlls/ntdll/unix/esync.c
|
||||
+++ b/dlls/ntdll/unix/esync.c
|
||||
@@ -482,12 +482,13 @@ static void update_grabbed_object( struct esync *obj )
|
||||
@@ -475,12 +475,13 @@ static void update_grabbed_object( struct esync *obj )
|
||||
|
||||
/* A value of STATUS_NOT_IMPLEMENTED returned from this function means that we
|
||||
* need to delegate to server_select(). */
|
||||
@@ -28,7 +28,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
LONGLONG timeleft;
|
||||
LARGE_INTEGER now;
|
||||
ULONGLONG end;
|
||||
@@ -515,6 +516,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -508,6 +509,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
if (has_esync && has_server)
|
||||
FIXME("Can't wait on esync and server objects at the same time!\n");
|
||||
else if (has_server)
|
||||
@@ -526,6 +530,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -519,6 +523,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
for (i = 0; i < count; i++)
|
||||
TRACE(" %p", handles[i]);
|
||||
|
||||
@@ -48,7 +48,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
if (!timeout)
|
||||
TRACE(", timeout = INFINITE.\n");
|
||||
else
|
||||
@@ -565,7 +572,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -558,7 +565,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
int64_t value;
|
||||
ssize_t size;
|
||||
|
||||
@@ -59,7 +59,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
{
|
||||
/* Don't grab the object, just check if it's signaled. */
|
||||
if (fds[i].revents & POLLIN)
|
||||
@@ -610,6 +619,44 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -603,6 +612,44 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,10 +105,10 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
{
|
||||
struct stat st;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index cf00ab99c63..ecbb78cc9bb 100644
|
||||
index 5cf63cbac21..f837944574e 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3734,3 +3734,8 @@ enum esync_type
|
||||
@@ -3797,3 +3797,8 @@ enum esync_type
|
||||
int type;
|
||||
unsigned int shm_idx;
|
||||
@END
|
||||
@@ -118,10 +118,10 @@ index cf00ab99c63..ecbb78cc9bb 100644
|
||||
+ int in_msgwait; /* are we in a message wait? */
|
||||
+@END
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index d34bc284d08..f4edb299dc3 100644
|
||||
index 1702acb8480..9593ae532d4 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -146,6 +146,7 @@ struct msg_queue
|
||||
@@ -144,6 +144,7 @@ struct msg_queue
|
||||
int keystate_lock; /* owns an input keystate lock */
|
||||
unsigned int ignore_post_msg; /* ignore post messages newer than this unique id */
|
||||
int esync_fd; /* esync file descriptor (signalled on message) */
|
||||
@@ -129,7 +129,7 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
};
|
||||
|
||||
struct hotkey
|
||||
@@ -319,6 +320,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
@@ -317,6 +318,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->keystate_lock = 0;
|
||||
queue->ignore_post_msg = 0;
|
||||
queue->esync_fd = -1;
|
||||
@@ -137,7 +137,7 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
list_init( &queue->send_result );
|
||||
list_init( &queue->callback_result );
|
||||
list_init( &queue->pending_timers );
|
||||
@@ -1002,6 +1004,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
@@ -1001,6 +1003,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
if (get_wait_queue_thread(entry)->queue == queue)
|
||||
return 0; /* thread is waiting on queue -> not hung */
|
||||
}
|
||||
@@ -148,9 +148,9 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -3416,3 +3422,18 @@ DECL_HANDLER(get_rawinput_devices)
|
||||
devices[i++] = e->device;
|
||||
}
|
||||
@@ -3456,3 +3462,18 @@ DECL_HANDLER(update_rawinput_devices)
|
||||
process->rawinput_mouse = find_rawinput_device( process, 1, 2 );
|
||||
process->rawinput_kbd = find_rawinput_device( process, 1, 6 );
|
||||
}
|
||||
+
|
||||
+DECL_HANDLER(esync_msgwait)
|
||||
@@ -168,5 +168,5 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
+ set_fd_events( queue->fd, req->in_msgwait ? POLLIN : 0 );
|
||||
+}
|
||||
--
|
||||
2.30.2
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 505384ad65984c3fc18c1c1a7b1fd39ecd0186f1 Mon Sep 17 00:00:00 2001
|
||||
From 07694655cf43e87ffc6185a5e7fe8d1bdd8658a4 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Wed, 13 Jun 2018 23:32:04 -0500
|
||||
Subject: [PATCH] kernel32/tests: Add some mutex tests.
|
||||
@@ -8,11 +8,11 @@ Subject: [PATCH] kernel32/tests: Add some mutex tests.
|
||||
1 file changed, 94 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
|
||||
index ea54cb069df..790b7bfe797 100644
|
||||
index bc85126d9aa..491052d5593 100644
|
||||
--- a/dlls/kernel32/tests/sync.c
|
||||
+++ b/dlls/kernel32/tests/sync.c
|
||||
@@ -177,8 +177,23 @@ static void test_signalandwait(void)
|
||||
CloseHandle(file);
|
||||
@@ -227,8 +227,23 @@ static void test_temporary_objects(void)
|
||||
ok(GetLastError() == ERROR_FILE_NOT_FOUND, "wrong error %lu\n", GetLastError());
|
||||
}
|
||||
|
||||
+static HANDLE mutex, mutex2, mutices[2];
|
||||
@@ -35,7 +35,7 @@ index ea54cb069df..790b7bfe797 100644
|
||||
DWORD wait_ret;
|
||||
BOOL ret;
|
||||
HANDLE hCreated;
|
||||
@@ -289,6 +304,85 @@ todo_wine_if(getenv("WINEESYNC")) /* XFAIL: due to the above */
|
||||
@@ -339,6 +354,85 @@ todo_wine_if(getenv("WINEESYNC")) /* XFAIL: due to the above */
|
||||
CloseHandle(hOpened);
|
||||
|
||||
CloseHandle(hCreated);
|
||||
@@ -122,5 +122,5 @@ index ea54cb069df..790b7bfe797 100644
|
||||
|
||||
static void test_slist(void)
|
||||
--
|
||||
2.28.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
From 35bc7e69e9100202e0f0d91ee66449a13ef4d075 Mon Sep 17 00:00:00 2001
|
||||
From a25c97e1a004f773d8d1ad4d233aa140ca8d9c63 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 30 Apr 2019 16:24:54 -0600
|
||||
Subject: ntdll: Allow creation of dangling reparse points to non-existent
|
||||
paths.
|
||||
Subject: [PATCH] ntdll: Allow creation of dangling reparse points to
|
||||
non-existent paths.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@@ -10,22 +10,22 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index e082ff5d322..e749e192f6f 100644
|
||||
index 82abd3e451b..fb4b3b65756 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -3402,7 +3402,8 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
@@ -3394,7 +3394,8 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
/* if this is the last element, not finding it is not necessarily fatal */
|
||||
if (!name_len)
|
||||
{
|
||||
- if (status == STATUS_OBJECT_PATH_NOT_FOUND)
|
||||
+ if (status == STATUS_OBJECT_PATH_NOT_FOUND
|
||||
- if (status == STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
+ if (status == STATUS_OBJECT_NAME_NOT_FOUND
|
||||
+ || (disposition == FILE_WINE_PATH && status == STATUS_OBJECT_NAME_NOT_FOUND))
|
||||
{
|
||||
status = STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
if (disposition != FILE_OPEN && disposition != FILE_OVERWRITE)
|
||||
@@ -3422,6 +3423,20 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
status = STATUS_OBJECT_NAME_COLLISION;
|
||||
{
|
||||
@@ -3416,6 +3417,20 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
|
||||
}
|
||||
if (end < next) strcat( unix_name, "/" );
|
||||
}
|
||||
+ else if (disposition == FILE_WINE_PATH && (status == STATUS_OBJECT_PATH_NOT_FOUND
|
||||
+ || status == STATUS_OBJECT_NAME_NOT_FOUND))
|
||||
@@ -41,10 +41,10 @@ index e082ff5d322..e749e192f6f 100644
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
else if (status == STATUS_OBJECT_NAME_NOT_FOUND) status = STATUS_OBJECT_PATH_NOT_FOUND;
|
||||
|
||||
if (status != STATUS_SUCCESS) break;
|
||||
|
||||
@@ -6080,7 +6095,7 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
@@ -6076,7 +6091,7 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
status = STATUS_NO_MEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -54,5 +54,5 @@ index e082ff5d322..e749e192f6f 100644
|
||||
free( unix_dest );
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 88fc8873bb68ef3d9b816a5cae76c5d7e12a82f1 Mon Sep 17 00:00:00 2001
|
||||
From 92381fe379f4e971168e1e3d9c67394eb8d0f697 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
|
||||
Date: Mon, 23 Nov 2020 13:08:02 -0700
|
||||
Subject: ntdll: Succeed with no data for NtReadFile on reparse points.
|
||||
Subject: [PATCH] ntdll: Succeed with no data for NtReadFile on reparse points.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@@ -12,10 +12,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
4 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index ebed2600920..cb9a9506aba 100644
|
||||
index 92cff9d9b2e..1e867146cd9 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -5581,7 +5581,7 @@ static void test_reparse_points(void)
|
||||
@@ -5591,7 +5591,7 @@ static void test_reparse_points(void)
|
||||
ok(handle != INVALID_HANDLE_VALUE, "Failed to open symlink file.\n");
|
||||
todo_wine ok(GetFileSize(handle, NULL) == 0, "symlink size is not zero\n");
|
||||
bret = ReadFile(handle, &buf, sizeof(buf), &dwLen, NULL);
|
||||
@@ -25,12 +25,12 @@ index ebed2600920..cb9a9506aba 100644
|
||||
CloseHandle(handle);
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 49412c99d3c..f7ff9f4b5ed 100644
|
||||
index 0d6f08072a7..d7e0be3f65c 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -5414,6 +5414,11 @@ NTSTATUS WINAPI NtReadFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, vo
|
||||
goto done;
|
||||
}
|
||||
@@ -5415,6 +5415,11 @@ NTSTATUS WINAPI NtReadFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, vo
|
||||
if (needs_close) close( unix_handle );
|
||||
return status;
|
||||
}
|
||||
+ else if (type == FD_TYPE_SYMLINK)
|
||||
+ {
|
||||
@@ -41,7 +41,7 @@ index 49412c99d3c..f7ff9f4b5ed 100644
|
||||
if (type == FD_TYPE_SERIAL && async_read && length)
|
||||
{
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 062322f685d..3079afdbdfd 100644
|
||||
index eb2dc5696ed..b9d0eb2d5f4 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -294,6 +294,7 @@ static enum server_fd_type file_get_fd_type( struct fd *fd )
|
||||
@@ -53,10 +53,10 @@ index 062322f685d..3079afdbdfd 100644
|
||||
if (S_ISDIR(file->mode)) return FD_TYPE_DIR;
|
||||
return FD_TYPE_CHAR;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 385420eedda..0c259ed063f 100644
|
||||
index 93c17e091cb..238e23b0a85 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1366,6 +1366,7 @@ enum server_fd_type
|
||||
@@ -1382,6 +1382,7 @@ enum server_fd_type
|
||||
{
|
||||
FD_TYPE_INVALID, /* invalid file (no associated fd) */
|
||||
FD_TYPE_FILE, /* regular file */
|
||||
@@ -65,5 +65,5 @@ index 385420eedda..0c259ed063f 100644
|
||||
FD_TYPE_SOCKET, /* socket */
|
||||
FD_TYPE_SERIAL, /* serial port */
|
||||
--
|
||||
2.17.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 75ee9968e8532dcadd39163ff93db9a5c81fb799 Mon Sep 17 00:00:00 2001
|
||||
From c4c562ca31cfd3ce391abae2cc4e94a6bf4da049 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 16 Oct 2014 23:26:35 +0200
|
||||
Subject: [PATCH] kernel32/tests: Add tests for NtQuerySection. (try 2)
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH] kernel32/tests: Add tests for NtQuerySection. (try 2)
|
||||
1 file changed, 245 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
|
||||
index 365194b9065..167df789abf 100644
|
||||
index f492b2cf9b1..f6ac324c3a7 100644
|
||||
--- a/dlls/kernel32/tests/virtual.c
|
||||
+++ b/dlls/kernel32/tests/virtual.c
|
||||
@@ -54,6 +54,23 @@ static PVOID (WINAPI *pVirtualAllocFromApp)(PVOID, SIZE_T, DWORD, DWORD);
|
||||
@@ -55,6 +55,23 @@ static BOOL (WINAPI *pPrefetchVirtualMemory)(HANDLE, ULONG_PTR, PWIN32_MEMORY_R
|
||||
|
||||
/* ############################### */
|
||||
|
||||
@@ -35,8 +35,8 @@ index 365194b9065..167df789abf 100644
|
||||
static HANDLE create_target_process(const char *arg)
|
||||
{
|
||||
char **argv;
|
||||
@@ -4240,6 +4257,233 @@ static void test_shared_memory_ro(BOOL is_child, DWORD child_access)
|
||||
CloseHandle(mapping);
|
||||
@@ -4246,6 +4263,233 @@ static void test_PrefetchVirtualMemory(void)
|
||||
"PrefetchVirtualMemory unexpected status on 2 page-aligned entries: %ld\n", GetLastError() );
|
||||
}
|
||||
|
||||
+static void test_NtQuerySection(void)
|
||||
@@ -269,7 +269,7 @@ index 365194b9065..167df789abf 100644
|
||||
START_TEST(virtual)
|
||||
{
|
||||
int argc;
|
||||
@@ -4304,6 +4548,7 @@ START_TEST(virtual)
|
||||
@@ -4312,6 +4556,7 @@ START_TEST(virtual)
|
||||
test_shared_memory_ro(FALSE, FILE_MAP_COPY);
|
||||
test_shared_memory_ro(FALSE, FILE_MAP_COPY|FILE_MAP_WRITE);
|
||||
test_mappings();
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From 240b46c41f284b6ff96b990b9b719a18919fb6dd Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 3 Mar 2021 08:56:39 +1100
|
||||
Subject: [PATCH 1/2] ntdll: Check return parameter before use
|
||||
|
||||
---
|
||||
dlls/ntdll/sec.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
|
||||
index eccfc82ce8c..5c1c9b1fbb0 100644
|
||||
--- a/dlls/ntdll/sec.c
|
||||
+++ b/dlls/ntdll/sec.c
|
||||
@@ -1172,6 +1172,8 @@ NTSTATUS WINAPI RtlAddAce(
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
if (!RtlFirstFreeAce(acl,&targetace))
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
+ if (!targetace)
|
||||
+ return STATUS_ALLOTTED_SPACE_EXCEEDED;
|
||||
nrofaces=0;ace=acestart;
|
||||
while (((BYTE *)ace - (BYTE *)acestart) < acelen) {
|
||||
nrofaces++;
|
||||
--
|
||||
2.30.1
|
||||
|
@@ -1,28 +0,0 @@
|
||||
From 0d2d659fbfb73fe046626d256ca5ee2878d9288b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 8 Feb 2021 13:16:52 +1100
|
||||
Subject: [PATCH 2/2] ntdll: RtlFirstFreeAce only return FALSE on error
|
||||
|
||||
---
|
||||
dlls/ntdll/sec.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
|
||||
index 5c1c9b1fbb0..9cebcb4f58e 100644
|
||||
--- a/dlls/ntdll/sec.c
|
||||
+++ b/dlls/ntdll/sec.c
|
||||
@@ -1149,9 +1149,8 @@ BOOLEAN WINAPI RtlFirstFreeAce(
|
||||
return FALSE;
|
||||
ace = (PACE_HEADER)(((BYTE*)ace)+ace->AceSize);
|
||||
}
|
||||
- if ((BYTE *)ace >= (BYTE *)acl + acl->AclSize)
|
||||
- return FALSE;
|
||||
- *x = ace;
|
||||
+ if ((BYTE *)ace <= (BYTE *)acl + acl->AclSize)
|
||||
+ *x = ace;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
--
|
||||
2.30.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [50624] Waves Central 12.0.5 fails to start.
|
@@ -1,4 +1,4 @@
|
||||
From 109ef0c4769a50904accb044a5d569af8261e305 Mon Sep 17 00:00:00 2001
|
||||
From 0e455713af03b7f91fea4332c893390a8de8ca44 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 00:50:50 +0100
|
||||
Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
|
||||
@@ -20,7 +20,7 @@ index 90deb5865f8..428ebde23b3 100644
|
||||
C_SRCS = \
|
||||
atom.c \
|
||||
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
|
||||
index aeae4e8adf3..52b06d33b54 100644
|
||||
index 2e0bfb650e4..cdb159479f2 100644
|
||||
--- a/dlls/ntdll/tests/rtl.c
|
||||
+++ b/dlls/ntdll/tests/rtl.c
|
||||
@@ -27,6 +27,9 @@
|
||||
@@ -53,8 +53,8 @@ index aeae4e8adf3..52b06d33b54 100644
|
||||
pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification");
|
||||
pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification");
|
||||
}
|
||||
@@ -3682,6 +3691,76 @@ static void test_RtlDestroyHeap(void)
|
||||
RtlRemoveVectoredExceptionHandler( handler );
|
||||
@@ -3730,6 +3739,76 @@ static void test_RtlFirstFreeAce(void)
|
||||
HeapFree(GetProcessHeap(), 0, acl);
|
||||
}
|
||||
|
||||
+static void test_RtlQueryPackageIdentity(void)
|
||||
@@ -130,7 +130,7 @@ index aeae4e8adf3..52b06d33b54 100644
|
||||
START_TEST(rtl)
|
||||
{
|
||||
InitFunctionPtrs();
|
||||
@@ -3721,6 +3800,7 @@ START_TEST(rtl)
|
||||
@@ -3769,6 +3848,7 @@ START_TEST(rtl)
|
||||
test_RtlInitializeCriticalSectionEx();
|
||||
test_RtlLeaveCriticalSection();
|
||||
test_LdrEnumerateLoadedModules();
|
||||
|
@@ -0,0 +1,144 @@
|
||||
From b2c573c7d371f760d92b7490fd1aca002e2f18c6 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Tue, 26 Oct 2021 19:07:26 +0300
|
||||
Subject: [PATCH] ntdll: Don't use Wine frames during exception processing on
|
||||
x64.
|
||||
|
||||
CW-Bug-ID: #19570
|
||||
---
|
||||
dlls/ntdll/signal_x86_64.c | 65 +++++++++++++++++++++++++++-----------
|
||||
1 file changed, 46 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index b1ab4933b93..3d163fbc6ea 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -347,15 +347,32 @@ __ASM_GLOBAL_FUNC( RtlCaptureContext,
|
||||
"fxsave 0x100(%rcx)\n\t" /* context->FltSave */
|
||||
"ret" );
|
||||
|
||||
-static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
+DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
{
|
||||
+ TRACE( "exception flags %#x.\n", rec->ExceptionFlags );
|
||||
+
|
||||
if (!(rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)))
|
||||
- rec->ExceptionFlags |= EH_NESTED_CALL;
|
||||
+ return ExceptionNestedException;
|
||||
|
||||
return ExceptionContinueSearch;
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * exception_handler_call_wrapper
|
||||
+ */
|
||||
+DWORD exception_handler_call_wrapper( EXCEPTION_RECORD *rec, void *frame,
|
||||
+ CONTEXT *context, DISPATCHER_CONTEXT *dispatch );
|
||||
+__ASM_GLOBAL_FUNC( exception_handler_call_wrapper,
|
||||
+ __ASM_SEH(".seh_endprologue\n\t")
|
||||
+ "subq $0x28, %rsp\n\t"
|
||||
+ __ASM_SEH(".seh_stackalloc 0x28\n\t")
|
||||
+ __ASM_SEH(".seh_handler nested_exception_handler, @except\n\t")
|
||||
+ "callq *0x30(%r9)\n\t" /* dispatch->LanguageHandler */
|
||||
+ "nop\n\t"
|
||||
+ "addq $0x28, %rsp\n\t"
|
||||
+ "ret" );
|
||||
+
|
||||
/**********************************************************************
|
||||
* call_handler
|
||||
*
|
||||
@@ -364,19 +381,19 @@ static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_
|
||||
*/
|
||||
static DWORD call_handler( EXCEPTION_RECORD *rec, CONTEXT *context, DISPATCHER_CONTEXT *dispatch )
|
||||
{
|
||||
- EXCEPTION_REGISTRATION_RECORD frame;
|
||||
DWORD res;
|
||||
|
||||
- frame.Handler = nested_exception_handler;
|
||||
- __wine_push_frame( &frame );
|
||||
-
|
||||
TRACE_(seh)( "calling handler %p (rec=%p, frame=%p context=%p, dispatch=%p)\n",
|
||||
dispatch->LanguageHandler, rec, (void *)dispatch->EstablisherFrame, dispatch->ContextRecord, dispatch );
|
||||
- res = dispatch->LanguageHandler( rec, (void *)dispatch->EstablisherFrame, context, dispatch );
|
||||
+ res = exception_handler_call_wrapper( rec, (void *)dispatch->EstablisherFrame, context, dispatch );
|
||||
TRACE_(seh)( "handler at %p returned %u\n", dispatch->LanguageHandler, res );
|
||||
|
||||
rec->ExceptionFlags &= EH_NONCONTINUABLE;
|
||||
- __wine_pop_frame( &frame );
|
||||
+ if (res == ExceptionNestedException)
|
||||
+ {
|
||||
+ rec->ExceptionFlags |= EH_NESTED_CALL;
|
||||
+ res = ExceptionContinueSearch;
|
||||
+ }
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -990,7 +1007,8 @@ PVOID WINAPI RtlVirtualUnwind( ULONG type, ULONG64 base, ULONG64 pc,
|
||||
|
||||
struct unwind_exception_frame
|
||||
{
|
||||
- EXCEPTION_REGISTRATION_RECORD frame;
|
||||
+ BYTE dummy[0x28];
|
||||
+ void *rip;
|
||||
DISPATCHER_CONTEXT *dispatch;
|
||||
};
|
||||
|
||||
@@ -999,7 +1017,7 @@ struct unwind_exception_frame
|
||||
*
|
||||
* Handler for exceptions happening while calling an unwind handler.
|
||||
*/
|
||||
-static DWORD __cdecl unwind_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
+DWORD __cdecl unwind_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
{
|
||||
struct unwind_exception_frame *unwind_frame = (struct unwind_exception_frame *)frame;
|
||||
@@ -1019,27 +1037,36 @@ static DWORD __cdecl unwind_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_
|
||||
return ExceptionCollidedUnwind;
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * exception_handler_call_wrapper
|
||||
+ */
|
||||
+DWORD unwind_handler_call_wrapper( EXCEPTION_RECORD *rec, void *frame,
|
||||
+ CONTEXT *context, DISPATCHER_CONTEXT *dispatch );
|
||||
+__ASM_GLOBAL_FUNC( unwind_handler_call_wrapper,
|
||||
+ __ASM_SEH(".seh_endprologue\n\t")
|
||||
+ "movq %r9, 0x8(%rsp)\n\t"
|
||||
+ "subq $0x28, %rsp\n\t"
|
||||
+ __ASM_SEH(".seh_stackalloc 0x28\n\t")
|
||||
+ __ASM_SEH(".seh_handler unwind_exception_handler, @except, @unwind\n\t")
|
||||
+ "callq *0x30(%r9)\n\t" /* dispatch->LanguageHandler */
|
||||
+ "nop\n\t"
|
||||
+ "addq $0x28, %rsp\n\t"
|
||||
+ "ret" );
|
||||
+
|
||||
/**********************************************************************
|
||||
* call_unwind_handler
|
||||
*
|
||||
* Call a single unwind handler.
|
||||
*/
|
||||
-static DWORD call_unwind_handler( EXCEPTION_RECORD *rec, DISPATCHER_CONTEXT *dispatch )
|
||||
+DWORD call_unwind_handler( EXCEPTION_RECORD *rec, DISPATCHER_CONTEXT *dispatch )
|
||||
{
|
||||
- struct unwind_exception_frame frame;
|
||||
DWORD res;
|
||||
|
||||
- frame.frame.Handler = unwind_exception_handler;
|
||||
- frame.dispatch = dispatch;
|
||||
- __wine_push_frame( &frame.frame );
|
||||
-
|
||||
TRACE( "calling handler %p (rec=%p, frame=%p context=%p, dispatch=%p)\n",
|
||||
dispatch->LanguageHandler, rec, (void *)dispatch->EstablisherFrame, dispatch->ContextRecord, dispatch );
|
||||
- res = dispatch->LanguageHandler( rec, (void *)dispatch->EstablisherFrame, dispatch->ContextRecord, dispatch );
|
||||
+ res = unwind_handler_call_wrapper( rec, (void *)dispatch->EstablisherFrame, dispatch->ContextRecord, dispatch );
|
||||
TRACE( "handler %p returned %x\n", dispatch->LanguageHandler, res );
|
||||
|
||||
- __wine_pop_frame( &frame.frame );
|
||||
-
|
||||
switch (res)
|
||||
{
|
||||
case ExceptionContinueSearch:
|
||||
--
|
||||
2.35.1
|
||||
|
1
patches/ntdll-wine-frames/definition
Normal file
1
patches/ntdll-wine-frames/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [52396] ntdll: Don't use Wine frames during exception processing on x64.
|
@@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "1a3217393e2e6226da0f4024d4d384def207a189"
|
||||
echo "a1af412482d36c4046061faa676ff7bc774f40eb"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 7.11"
|
||||
echo "Wine Staging 7.15"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -106,9 +106,9 @@ patch_enable_all ()
|
||||
enable_ddraw_Silence_FIXMEs="$1"
|
||||
enable_ddraw_version_check="$1"
|
||||
enable_dinput_joy_mappings="$1"
|
||||
enable_dsdmo_fx_support="$1"
|
||||
enable_dsound_EAX="$1"
|
||||
enable_dsound_Fast_Mixer="$1"
|
||||
enable_dwrite_FontFallback="$1"
|
||||
enable_eventfd_synchronization="$1"
|
||||
enable_explorer_Video_Registry_Key="$1"
|
||||
enable_fltmgr_sys_FltBuildDefaultSecurityDescriptor="$1"
|
||||
@@ -146,12 +146,12 @@ patch_enable_all ()
|
||||
enable_ntdll_NtQuerySection="$1"
|
||||
enable_ntdll_NtSetLdtEntries="$1"
|
||||
enable_ntdll_ProcessQuotaLimits="$1"
|
||||
enable_ntdll_RtlFirstFreeAce="$1"
|
||||
enable_ntdll_RtlQueryPackageIdentity="$1"
|
||||
enable_ntdll_Serial_Port_Detection="$1"
|
||||
enable_ntdll_Syscall_Emulation="$1"
|
||||
enable_ntdll_WRITECOPY="$1"
|
||||
enable_ntdll_ext4_case_folder="$1"
|
||||
enable_ntdll_wine_frames="$1"
|
||||
enable_nvapi_Stub_DLL="$1"
|
||||
enable_nvcuda_CUDA_Support="$1"
|
||||
enable_nvcuvid_CUDA_Video_Support="$1"
|
||||
@@ -229,6 +229,7 @@ patch_enable_all ()
|
||||
enable_wined3d_SWVP_shaders="$1"
|
||||
enable_wined3d_Silence_FIXMEs="$1"
|
||||
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1"
|
||||
enable_wined3d_adapter_create_output="$1"
|
||||
enable_wined3d_bindless_texture="$1"
|
||||
enable_wined3d_mesa_texture_download="$1"
|
||||
enable_wined3d_rotate_WINED3D_SWAP_EFFECT_DISCARD="$1"
|
||||
@@ -243,6 +244,7 @@ patch_enable_all ()
|
||||
enable_winemenubuilder_integration="$1"
|
||||
enable_wineps_drv_PostScript_Fixes="$1"
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
enable_winepulse_aux_channels="$1"
|
||||
enable_winex11_CandidateWindowPos="$1"
|
||||
enable_winex11_MWM_Decorations="$1"
|
||||
enable_winex11_UpdateLayeredWindow="$1"
|
||||
@@ -256,14 +258,13 @@ patch_enable_all ()
|
||||
enable_winex11_drv_Query_server_position="$1"
|
||||
enable_wininet_Cleanup="$1"
|
||||
enable_winmm_mciSendCommandA="$1"
|
||||
enable_winspool_drv_ClosePrinter="$1"
|
||||
enable_wintab32_improvements="$1"
|
||||
enable_wintrust_WTHelperGetProvCertFromChain="$1"
|
||||
enable_ws2_32_SIO_IDEAL_SEND_BACKLOG_QUERY="$1"
|
||||
enable_wscript_support_d_u_switches="$1"
|
||||
enable_xactengine_initial="$1"
|
||||
enable_xactengine3_7_Notification="$1"
|
||||
enable_xactengine3_7_PrepareWave="$1"
|
||||
enable_xactengine3_7_callbacks="$1"
|
||||
}
|
||||
|
||||
# Enable or disable a specific patchset
|
||||
@@ -342,15 +343,15 @@ patch_enable ()
|
||||
dinput-joy-mappings)
|
||||
enable_dinput_joy_mappings="$2"
|
||||
;;
|
||||
dsdmo-fx-support)
|
||||
enable_dsdmo_fx_support="$2"
|
||||
;;
|
||||
dsound-EAX)
|
||||
enable_dsound_EAX="$2"
|
||||
;;
|
||||
dsound-Fast_Mixer)
|
||||
enable_dsound_Fast_Mixer="$2"
|
||||
;;
|
||||
dwrite-FontFallback)
|
||||
enable_dwrite_FontFallback="$2"
|
||||
;;
|
||||
eventfd_synchronization)
|
||||
enable_eventfd_synchronization="$2"
|
||||
;;
|
||||
@@ -462,9 +463,6 @@ patch_enable ()
|
||||
ntdll-ProcessQuotaLimits)
|
||||
enable_ntdll_ProcessQuotaLimits="$2"
|
||||
;;
|
||||
ntdll-RtlFirstFreeAce)
|
||||
enable_ntdll_RtlFirstFreeAce="$2"
|
||||
;;
|
||||
ntdll-RtlQueryPackageIdentity)
|
||||
enable_ntdll_RtlQueryPackageIdentity="$2"
|
||||
;;
|
||||
@@ -480,6 +478,9 @@ patch_enable ()
|
||||
ntdll-ext4-case-folder)
|
||||
enable_ntdll_ext4_case_folder="$2"
|
||||
;;
|
||||
ntdll-wine-frames)
|
||||
enable_ntdll_wine_frames="$2"
|
||||
;;
|
||||
nvapi-Stub_DLL)
|
||||
enable_nvapi_Stub_DLL="$2"
|
||||
;;
|
||||
@@ -711,6 +712,9 @@ patch_enable ()
|
||||
wined3d-WINED3DFMT_B8G8R8X8_UNORM)
|
||||
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2"
|
||||
;;
|
||||
wined3d-adapter_create_output)
|
||||
enable_wined3d_adapter_create_output="$2"
|
||||
;;
|
||||
wined3d-bindless-texture)
|
||||
enable_wined3d_bindless_texture="$2"
|
||||
;;
|
||||
@@ -753,6 +757,9 @@ patch_enable ()
|
||||
winepulse-PulseAudio_Support)
|
||||
enable_winepulse_PulseAudio_Support="$2"
|
||||
;;
|
||||
winepulse-aux_channels)
|
||||
enable_winepulse_aux_channels="$2"
|
||||
;;
|
||||
winex11-CandidateWindowPos)
|
||||
enable_winex11_CandidateWindowPos="$2"
|
||||
;;
|
||||
@@ -792,6 +799,9 @@ patch_enable ()
|
||||
winmm-mciSendCommandA)
|
||||
enable_winmm_mciSendCommandA="$2"
|
||||
;;
|
||||
winspool.drv-ClosePrinter)
|
||||
enable_winspool_drv_ClosePrinter="$2"
|
||||
;;
|
||||
wintab32-improvements)
|
||||
enable_wintab32_improvements="$2"
|
||||
;;
|
||||
@@ -807,15 +817,9 @@ patch_enable ()
|
||||
xactengine-initial)
|
||||
enable_xactengine_initial="$2"
|
||||
;;
|
||||
xactengine3_7-Notification)
|
||||
enable_xactengine3_7_Notification="$2"
|
||||
;;
|
||||
xactengine3_7-PrepareWave)
|
||||
enable_xactengine3_7_PrepareWave="$2"
|
||||
;;
|
||||
xactengine3_7-callbacks)
|
||||
enable_xactengine3_7_callbacks="$2"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
@@ -1163,13 +1167,6 @@ patch_apply()
|
||||
}
|
||||
|
||||
|
||||
if test "$enable_xactengine3_7_callbacks" -eq 1; then
|
||||
if test "$enable_xactengine3_7_Notification" -gt 1; then
|
||||
abort "Patchset xactengine3_7-Notification disabled, but xactengine3_7-callbacks depends on that."
|
||||
fi
|
||||
enable_xactengine3_7_Notification=1
|
||||
fi
|
||||
|
||||
if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then
|
||||
if test "$enable_winex11__NET_ACTIVE_WINDOW" -gt 1; then
|
||||
abort "Patchset winex11-_NET_ACTIVE_WINDOW disabled, but winex11-WM_WINDOWPOSCHANGING depends on that."
|
||||
@@ -1669,6 +1666,19 @@ if test "$enable_dinput_joy_mappings" -eq 1; then
|
||||
patch_apply dinput-joy-mappings/0004-dinput-Allow-mapping-of-controls-based-of-Genre-type.patch
|
||||
fi
|
||||
|
||||
# Patchset dsdmo-fx-support
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#52396] dsdmo: Add More FX interfaces.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dsdmo/dsdmo.idl, dlls/dsdmo/main.c
|
||||
# |
|
||||
if test "$enable_dsdmo_fx_support" -eq 1; then
|
||||
patch_apply dsdmo-fx-support/0001-dsdmo-Add-Echo-FX-Support.patch
|
||||
patch_apply dsdmo-fx-support/0002-dsdmo-Add-Compressor-FX-Support.patch
|
||||
fi
|
||||
|
||||
# Patchset dsound-Fast_Mixer
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -1719,22 +1729,6 @@ if test "$enable_dsound_EAX" -eq 1; then
|
||||
patch_apply dsound-EAX/0023-dsound-Fake-success-for-EAX-Set-Buffer-ListenerPrope.patch
|
||||
fi
|
||||
|
||||
# Patchset dwrite-FontFallback
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44052] - Support for font fallback.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dwrite/analyzer.c, dlls/dwrite/layout.c, dlls/dwrite/tests/layout.c
|
||||
# |
|
||||
if test "$enable_dwrite_FontFallback" -eq 1; then
|
||||
patch_apply dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch
|
||||
patch_apply dwrite-FontFallback/0002-dwrite-Test-GetMetrics-with-custom-fontcollection.patch
|
||||
patch_apply dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch
|
||||
patch_apply dwrite-FontFallback/0005-dwrite-Use-MapCharacters-for-non-visual-characters.patch
|
||||
patch_apply dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-DOS_Attributes
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -2370,19 +2364,6 @@ if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
|
||||
patch_apply ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlFirstFreeAce
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#50624] Waves Central 12.0.5 fails to start.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/sec.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlFirstFreeAce" -eq 1; then
|
||||
patch_apply ntdll-RtlFirstFreeAce/0001-ntdll-Check-return-parameter-before-use.patch
|
||||
patch_apply ntdll-RtlFirstFreeAce/0002-ntdll-RtlFirstFreeAce-only-return-FALSE-on-error.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | Modified files:
|
||||
@@ -2428,6 +2409,18 @@ if test "$enable_ntdll_ext4_case_folder" -eq 1; then
|
||||
patch_apply ntdll-ext4-case-folder/0002-ntdll-server-Mark-drive_c-as-case-insensitive-when-c.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-wine-frames
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#52396] ntdll: Don't use Wine frames during exception processing on x64.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/signal_x86_64.c
|
||||
# |
|
||||
if test "$enable_ntdll_wine_frames" -eq 1; then
|
||||
patch_apply ntdll-wine-frames/0001-ntdll-Don-t-use-Wine-frames-during-exception-process.patch
|
||||
fi
|
||||
|
||||
# Patchset nvcuda-CUDA_Support
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -2711,7 +2704,8 @@ fi
|
||||
# | * [#33576] Support for stored file ACLs
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/change.c, server/file.c, server/file.h, server/object.c, server/object.h
|
||||
# | * dlls/advapi32/tests/security.c, dlls/xactengine3_7/xact_dll.c, server/change.c, server/file.c, server/file.h,
|
||||
# | server/object.c, server/object.h
|
||||
# |
|
||||
if test "$enable_server_Stored_ACLs" -eq 1; then
|
||||
patch_apply server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch
|
||||
@@ -2944,7 +2938,7 @@ fi
|
||||
# Patchset stdole32.idl-Typelib
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/stdole32.tlb/std_ole_v1.idl, include/stdole32.idl
|
||||
# | * dlls/stdole32.tlb/std_ole_v1.idl, include/Makefile.in, include/stdole32.idl
|
||||
# |
|
||||
if test "$enable_stdole32_idl_Typelib" -eq 1; then
|
||||
patch_apply stdole32.idl-Typelib/0001-include-Make-stdole32.idl-a-public-component.patch
|
||||
@@ -3263,7 +3257,7 @@ fi
|
||||
# | * [#45882] - Raw Input should use untransformed mouse values (affects Overwatch, several Source games).
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/rawinput.c, dlls/winex11.drv/mouse.c, server/queue.c
|
||||
# | * dlls/win32u/rawinput.c, dlls/winex11.drv/mouse.c, server/queue.c
|
||||
# |
|
||||
if test "$enable_user32_rawinput_mouse_experimental" -eq 1; then
|
||||
patch_apply user32-rawinput-mouse-experimental/0001-server-Clear-the-MOUSEEVENTF_-ABSOLUTE-VIRTUALDESK-f.patch
|
||||
@@ -3505,6 +3499,18 @@ if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then
|
||||
patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch
|
||||
fi
|
||||
|
||||
# Patchset wined3d-adapter_create_output
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#53497] wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output()
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_adapter_create_output" -eq 1; then
|
||||
patch_apply wined3d-adapter_create_output/0001-wined3d-Use-wined3d_array_reserve-in-wined3d_adapter.patch
|
||||
fi
|
||||
|
||||
# Patchset wined3d-bindless-texture
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3659,6 +3665,18 @@ if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
|
||||
patch_apply winepulse-PulseAudio_Support/0001-winepulse.drv-Use-a-separate-mainloop-and-ctx-for-pu.patch
|
||||
fi
|
||||
|
||||
# Patchset winepulse-aux_channels
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#52572] Support PulseAudio channels aux0 and aux1.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winepulse.drv/pulse.c
|
||||
# |
|
||||
if test "$enable_winepulse_aux_channels" -eq 1; then
|
||||
patch_apply winepulse-aux_channels/0001-winepulse-Add-aux0-and-aux1-channels.patch
|
||||
fi
|
||||
|
||||
# Patchset winex11-CandidateWindowPos
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3805,6 +3823,18 @@ if test "$enable_winmm_mciSendCommandA" -eq 1; then
|
||||
patch_apply winmm-mciSendCommandA/0001-winmm-Do-not-crash-in-Win-9X-mode-when-an-invalid-de.patch
|
||||
fi
|
||||
|
||||
# Patchset winspool.drv-ClosePrinter
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#53425] - Add more tracing to ClosePrinter
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winspool.drv/info.c
|
||||
# |
|
||||
if test "$enable_winspool_drv_ClosePrinter" -eq 1; then
|
||||
patch_apply winspool.drv-ClosePrinter/0001-winspool.drv-Add-more-tracing-to-ClosePrinter.patch
|
||||
fi
|
||||
|
||||
# Patchset wintab32-improvements
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3876,19 +3906,6 @@ if test "$enable_xactengine_initial" -eq 1; then
|
||||
patch_apply xactengine-initial/0003-xactengine3_7-tests-Add-Global-settings-test.patch
|
||||
fi
|
||||
|
||||
# Patchset xactengine3_7-Notification
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#50546] xactengine3_7: Send Notification after the Wavebank is created.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/xactengine3_7/xact_dll.c
|
||||
# |
|
||||
if test "$enable_xactengine3_7_Notification" -eq 1; then
|
||||
patch_apply xactengine3_7-Notification/0001-xactengine3.7-Delay-Notication-for-WAVEBANKPREPARED.patch
|
||||
patch_apply xactengine3_7-Notification/0002-xactengine3_7-Record-context-for-each-notications.patch
|
||||
fi
|
||||
|
||||
# Patchset xactengine3_7-PrepareWave
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3902,23 +3919,6 @@ if test "$enable_xactengine3_7_PrepareWave" -eq 1; then
|
||||
patch_apply xactengine3_7-PrepareWave/0003-xactengine3_7-Implement-IXACT3Engine-PrepareInMemory.patch
|
||||
fi
|
||||
|
||||
# Patchset xactengine3_7-callbacks
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * xactengine3_7-Notification
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#49678] - xactengine: Implement callback notifications.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/xactengine3_7/xact_dll.c, libs/faudio/include/FACT.h, libs/faudio/src/FACT.c, libs/faudio/src/FACT_internal.h
|
||||
# |
|
||||
if test "$enable_xactengine3_7_callbacks" -eq 1; then
|
||||
patch_apply xactengine3_7-callbacks/0001-Add-support-for-private-contexts.patch
|
||||
patch_apply xactengine3_7-callbacks/0002-xactengine3_7-notifications.patch
|
||||
patch_apply xactengine3_7-callbacks/0004-xactengine3_7-Don-t-use-switch-with-constant-integer.patch
|
||||
fi
|
||||
|
||||
if test "$enable_autoconf" -eq 1; then
|
||||
if ! update_configure; then
|
||||
abort "'autoreconf -f' failed."
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 534d035e5646d1a76657987894ce7124be0f7312 Mon Sep 17 00:00:00 2001
|
||||
From 0ed959d4122e705d8728a7064ff260d2a6955af5 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Sun, 10 Aug 2014 22:17:57 +0800
|
||||
Subject: [PATCH] riched20: Stub for ITextPara interface and implement
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] riched20: Stub for ITextPara interface and implement
|
||||
2 files changed, 477 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index a23f4c82730..7204bb3a0fa 100644
|
||||
index afecd34dc2a..6b94ee89902 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -3553,6 +3553,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface)
|
||||
@@ -3563,6 +3563,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface)
|
||||
return ref;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
static HRESULT WINAPI TextPara_GetTypeInfoCount(ITextPara *iface, UINT *pctinfo)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
@@ -3620,6 +3630,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret)
|
||||
@@ -3630,6 +3640,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ret);
|
||||
@@ -41,7 +41,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3627,6 +3641,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para)
|
||||
@@ -3637,6 +3651,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, para);
|
||||
@@ -52,7 +52,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3634,6 +3652,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret)
|
||||
@@ -3644,6 +3662,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ret);
|
||||
@@ -63,7 +63,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3641,6 +3663,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG *
|
||||
@@ -3651,6 +3673,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG *
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p %p)\n", This, para, ret);
|
||||
@@ -74,7 +74,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3648,6 +3674,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value)
|
||||
@@ -3658,6 +3684,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -85,7 +85,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3655,6 +3685,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value)
|
||||
@@ -3665,6 +3695,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -96,7 +96,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3662,6 +3696,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value)
|
||||
@@ -3672,6 +3706,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -107,7 +107,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3669,6 +3707,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value)
|
||||
@@ -3679,6 +3717,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -118,7 +118,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3676,6 +3718,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value)
|
||||
@@ -3686,6 +3728,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -129,7 +129,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3683,6 +3729,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value)
|
||||
@@ -3693,6 +3739,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -140,7 +140,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3690,6 +3740,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value)
|
||||
@@ -3700,6 +3750,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -151,7 +151,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3697,6 +3751,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value
|
||||
@@ -3707,6 +3761,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -162,7 +162,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3704,6 +3762,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value)
|
||||
@@ -3714,6 +3772,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -173,7 +173,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3711,6 +3773,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value)
|
||||
@@ -3721,6 +3783,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -184,7 +184,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3718,6 +3784,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value)
|
||||
@@ -3728,6 +3794,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -195,7 +195,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3725,6 +3795,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value)
|
||||
@@ -3735,6 +3805,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -206,7 +206,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3732,6 +3806,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value)
|
||||
@@ -3742,6 +3816,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -217,7 +217,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3739,6 +3817,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value)
|
||||
@@ -3749,6 +3827,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -228,7 +228,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3746,6 +3828,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value)
|
||||
@@ -3756,6 +3838,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -239,7 +239,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3753,6 +3839,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value)
|
||||
@@ -3763,6 +3849,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -250,7 +250,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3760,6 +3850,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value)
|
||||
@@ -3770,6 +3860,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -261,7 +261,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3767,6 +3861,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value)
|
||||
@@ -3777,6 +3871,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -272,7 +272,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3774,6 +3872,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value)
|
||||
@@ -3784,6 +3882,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -283,7 +283,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3781,6 +3883,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value)
|
||||
@@ -3791,6 +3893,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -294,7 +294,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3788,6 +3894,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value)
|
||||
@@ -3798,6 +3904,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -305,7 +305,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3795,6 +3905,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value)
|
||||
@@ -3805,6 +3915,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -316,7 +316,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3802,6 +3916,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value)
|
||||
@@ -3812,6 +3926,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@@ -327,7 +327,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3809,6 +3927,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value)
|
||||
@@ -3819,6 +3937,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -338,7 +338,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3816,6 +3938,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value)
|
||||
@@ -3826,6 +3948,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -349,7 +349,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3823,6 +3949,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value)
|
||||
@@ -3833,6 +3959,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -360,7 +360,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3830,6 +3960,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value)
|
||||
@@ -3840,6 +3970,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -371,7 +371,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3837,6 +3971,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value)
|
||||
@@ -3847,6 +3981,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -382,7 +382,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3844,6 +3982,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value)
|
||||
@@ -3854,6 +3992,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -393,7 +393,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3851,6 +3993,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value)
|
||||
@@ -3861,6 +4003,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -404,7 +404,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3858,6 +4004,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value)
|
||||
@@ -3868,6 +4014,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@@ -415,7 +415,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3865,6 +4015,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F
|
||||
@@ -3875,6 +4025,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f %.2f %.2f)\n", This, StartIndent, LeftIndent, RightIndent);
|
||||
@@ -426,7 +426,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3872,6 +4026,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing
|
||||
@@ -3882,6 +4036,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld %.2f)\n", This, LineSpacingRule, LineSpacing);
|
||||
@@ -437,7 +437,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3879,6 +4037,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value)
|
||||
@@ -3889,6 +4047,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -448,7 +448,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3886,6 +4048,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value)
|
||||
@@ -3896,6 +4058,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@@ -459,7 +459,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3893,6 +4059,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value)
|
||||
@@ -3903,6 +4069,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -470,7 +470,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3900,6 +4070,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value)
|
||||
@@ -3910,6 +4080,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@@ -481,7 +481,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3907,6 +4081,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value)
|
||||
@@ -3917,6 +4091,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -492,7 +492,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3914,6 +4092,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value)
|
||||
@@ -3924,6 +4102,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, value);
|
||||
@@ -503,7 +503,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3921,6 +4103,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value)
|
||||
@@ -3931,6 +4113,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@@ -514,7 +514,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3928,6 +4114,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig
|
||||
@@ -3938,6 +4124,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f %ld %ld)\n", This, tbPos, tbAlign, tbLeader);
|
||||
@@ -525,7 +525,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3935,6 +4125,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface)
|
||||
@@ -3945,6 +4135,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)\n", This);
|
||||
@@ -536,7 +536,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3942,6 +4136,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos)
|
||||
@@ -3952,6 +4146,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, pos);
|
||||
@@ -547,7 +547,7 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3949,6 +4147,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos
|
||||
@@ -3959,6 +4157,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%ld %p %p %p)\n", This, iTab, ptbPos, ptbAlign, ptbLeader);
|
||||
@@ -559,11 +559,11 @@ index a23f4c82730..7204bb3a0fa 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 24284a24484..4ea3828033b 100644
|
||||
index a01f4e21db8..e44ffc767e7 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -4249,6 +4249,274 @@ static void test_clipboard(void)
|
||||
ITextRange_Release(range);
|
||||
@@ -5439,6 +5439,274 @@ static void test_undo_control(void)
|
||||
release_interfaces(&inst.hwnd, &reole, &inst.doc, &selection);
|
||||
}
|
||||
|
||||
+static void test_ITextRange_SetStart(void)
|
||||
@@ -837,7 +837,7 @@ index 24284a24484..4ea3828033b 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -4269,6 +4537,13 @@ START_TEST(richole)
|
||||
@@ -5459,6 +5727,13 @@ START_TEST(richole)
|
||||
test_ITextRange_SetRange();
|
||||
test_ITextRange_GetDuplicate();
|
||||
test_ITextRange_Collapse();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user