[PATCH] dmstyle: IDirectMusicTrack GetParam add pointer check.
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Sun Nov 3 20:31:48 CST 2019
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
The other option we have, is use a Single Track structure for these
types and override only the function(s) that are required for that type.
dlls/dmstyle/auditiontrack.c | 8 ++++++--
dlls/dmstyle/chordtrack.c | 10 +++++++---
dlls/dmstyle/commandtrack.c | 10 +++++++---
dlls/dmstyle/motiftrack.c | 10 +++++++---
dlls/dmstyle/mutetrack.c | 10 +++++++---
dlls/dmstyle/styletrack.c | 10 +++++++---
dlls/dmstyle/tests/dmstyle.c | 6 +++---
7 files changed, 44 insertions(+), 20 deletions(-)
diff --git a/dlls/dmstyle/auditiontrack.c b/dlls/dmstyle/auditiontrack.c
index 3c304ca574..190b2111aa 100644
--- a/dlls/dmstyle/auditiontrack.c
+++ b/dlls/dmstyle/auditiontrack.c
@@ -121,9 +121,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicAuditionTrack *This = impl_from_IDirectMusicTrack8(iface);
+ IDirectMusicAuditionTrack *This = impl_from_IDirectMusicTrack8(iface);
FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/chordtrack.c b/dlls/dmstyle/chordtrack.c
index fd290bf7a9..70056e5677 100644
--- a/dlls/dmstyle/chordtrack.c
+++ b/dlls/dmstyle/chordtrack.c
@@ -124,9 +124,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicChordTrack *This = impl_from_IDirectMusicTrack8(iface);
- FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+ IDirectMusicChordTrack *This = impl_from_IDirectMusicTrack8(iface);
+ FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/commandtrack.c b/dlls/dmstyle/commandtrack.c
index e326241c4b..0afac074c7 100644
--- a/dlls/dmstyle/commandtrack.c
+++ b/dlls/dmstyle/commandtrack.c
@@ -123,9 +123,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicCommandTrack *This = impl_from_IDirectMusicTrack8(iface);
- FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+ IDirectMusicCommandTrack *This = impl_from_IDirectMusicTrack8(iface);
+ FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/motiftrack.c b/dlls/dmstyle/motiftrack.c
index d4a4effec7..526a28111d 100644
--- a/dlls/dmstyle/motiftrack.c
+++ b/dlls/dmstyle/motiftrack.c
@@ -121,9 +121,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicMotifTrack *This = impl_from_IDirectMusicTrack8(iface);
- FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+ IDirectMusicMotifTrack *This = impl_from_IDirectMusicTrack8(iface);
+ FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/mutetrack.c b/dlls/dmstyle/mutetrack.c
index 67bfbc30dc..5d85a1b61e 100644
--- a/dlls/dmstyle/mutetrack.c
+++ b/dlls/dmstyle/mutetrack.c
@@ -121,9 +121,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicMuteTrack *This = impl_from_IDirectMusicTrack8(iface);
- FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+ IDirectMusicMuteTrack *This = impl_from_IDirectMusicTrack8(iface);
+ FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/styletrack.c b/dlls/dmstyle/styletrack.c
index 79b4787ca0..a75853bf16 100644
--- a/dlls/dmstyle/styletrack.c
+++ b/dlls/dmstyle/styletrack.c
@@ -123,9 +123,13 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam)
{
- IDirectMusicStyleTrack *This = impl_from_IDirectMusicTrack8(iface);
- FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
- return S_OK;
+ IDirectMusicStyleTrack *This = impl_from_IDirectMusicTrack8(iface);
+ FIXME("(%p, %s, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), mtTime, pmtNext, pParam);
+
+ if (!rguidType)
+ return E_POINTER;
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface, REFGUID rguidType,
diff --git a/dlls/dmstyle/tests/dmstyle.c b/dlls/dmstyle/tests/dmstyle.c
index a94640d13d..6b2275866c 100644
--- a/dlls/dmstyle/tests/dmstyle.c
+++ b/dlls/dmstyle/tests/dmstyle.c
@@ -279,12 +279,12 @@ static void test_track(void)
else
todo_wine ok(hr == E_POINTER, "IDirectMusicTrack8_InitPlay failed: %08x\n", hr);
}
- todo_wine {
+
hr = IDirectMusicTrack8_GetParam(dmt8, NULL, 0, NULL, NULL);
ok(hr == E_POINTER, "IDirectMusicTrack8_GetParam failed: %08x\n", hr);
hr = IDirectMusicTrack8_SetParam(dmt8, NULL, 0, NULL);
- ok(hr == E_POINTER, "IDirectMusicTrack8_SetParam failed: %08x\n", hr);
- }
+ todo_wine ok(hr == E_POINTER, "IDirectMusicTrack8_SetParam failed: %08x\n", hr);
+
hr = IDirectMusicTrack8_IsParamSupported(dmt8, NULL);
ok(hr == E_POINTER, "IDirectMusicTrack8_IsParamSupported failed: %08x\n", hr);
if (class[i].clsid == &CLSID_DirectMusicMuteTrack) {
--
2.17.1
More information about the wine-devel
mailing list