Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/dmime/segtriggertrack.c | 13 ++++++++----- dlls/dmime/tests/dmime.c | 10 ++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/dlls/dmime/segtriggertrack.c b/dlls/dmime/segtriggertrack.c index 37d7e46d20..7f81e2e1f4 100644 --- a/dlls/dmime/segtriggertrack.c +++ b/dlls/dmime/segtriggertrack.c @@ -138,12 +138,15 @@ static HRESULT WINAPI segment_track_SetParam(IDirectMusicTrack8 *iface, REFGUID
static HRESULT WINAPI segment_track_IsParamSupported(IDirectMusicTrack8 *iface, REFGUID rguidType) { - IDirectMusicSegTriggerTrack *This = impl_from_IDirectMusicTrack8(iface); + IDirectMusicSegTriggerTrack *This = impl_from_IDirectMusicTrack8(iface); + + TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType));
- TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); - /* didn't find any params */ - TRACE("param unsupported\n"); - return DMUS_E_TYPE_UNSUPPORTED; + if (IsEqualGUID(rguidType, &GUID_IDirectMusicStyle)) + return S_OK; + + TRACE("param unsupported\n"); + return DMUS_E_TYPE_UNSUPPORTED; }
static HRESULT WINAPI segment_track_AddNotificationType(IDirectMusicTrack8 *iface, diff --git a/dlls/dmime/tests/dmime.c b/dlls/dmime/tests/dmime.c index b7bf542fd8..944a278dbb 100644 --- a/dlls/dmime/tests/dmime.c +++ b/dlls/dmime/tests/dmime.c @@ -565,6 +565,16 @@ static void test_track(void) ok(hr == E_NOTIMPL, "IDirectMusicTrack_SetParam failed: %08x\n", hr); hr = IDirectMusicTrack_IsParamSupported(dmt, NULL); ok(hr == E_NOTIMPL, "IDirectMusicTrack_IsParamSupported failed: %08x\n", hr); + + hr = IDirectMusicTrack_IsParamSupported(dmt, &GUID_IDirectMusicStyle); + ok(hr == E_NOTIMPL, "got: %08x\n", hr); + } + else { + hr = IDirectMusicTrack_IsParamSupported(dmt, &GUID_IDirectMusicStyle); + if (class[i].clsid == &CLSID_DirectMusicSegmentTriggerTrack) + ok(hr == S_OK, "got: %08x\n", hr); + else + ok(hr == DMUS_E_TYPE_UNSUPPORTED, "got: %08x\n", hr); } if (class[i].clsid != &CLSID_DirectMusicMarkerTrack && class[i].clsid != &CLSID_DirectMusicTimeSigTrack) {