From: Rémi Bernon rbernon@codeweavers.com
--- dlls/dmime/segmentstate.c | 30 +++++++++++++++++++----------- dlls/dmime/tests/dmime.c | 10 +++++----- 2 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/dlls/dmime/segmentstate.c b/dlls/dmime/segmentstate.c index b49308369ac..655940311b3 100644 --- a/dlls/dmime/segmentstate.c +++ b/dlls/dmime/segmentstate.c @@ -78,38 +78,46 @@ static ULONG WINAPI segment_state_Release(IDirectMusicSegmentState8 *iface) return ref; }
-static HRESULT WINAPI segment_state_GetRepeats(IDirectMusicSegmentState8 *iface, DWORD *pdwRepeats) +static HRESULT WINAPI segment_state_GetRepeats(IDirectMusicSegmentState8 *iface, DWORD *repeats) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pdwRepeats); + FIXME("(%p, %p): semi-stub\n", This, repeats); return S_OK; }
-static HRESULT WINAPI segment_state_GetSegment(IDirectMusicSegmentState8 *iface, IDirectMusicSegment **ppSegment) +static HRESULT WINAPI segment_state_GetSegment(IDirectMusicSegmentState8 *iface, IDirectMusicSegment **segment) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, ppSegment); - return S_OK; + + FIXME("(%p, %p): semi-stub\n", This, segment); + + *segment = NULL; + return DMUS_E_NOT_FOUND; }
-static HRESULT WINAPI segment_state_GetStartTime(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtStart) +static HRESULT WINAPI segment_state_GetStartTime(IDirectMusicSegmentState8 *iface, MUSIC_TIME *start_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtStart); + FIXME("(%p, %p): semi-stub\n", This, start_time); + *start_time = -1; return S_OK; }
-static HRESULT WINAPI segment_state_GetSeek(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtSeek) +static HRESULT WINAPI segment_state_GetSeek(IDirectMusicSegmentState8 *iface, MUSIC_TIME *seek_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtSeek); + FIXME("(%p, %p): semi-stub\n", This, seek_time); + *seek_time = 0; return S_OK; }
-static HRESULT WINAPI segment_state_GetStartPoint(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtStart) +static HRESULT WINAPI segment_state_GetStartPoint(IDirectMusicSegmentState8 *iface, MUSIC_TIME *start_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtStart); + + FIXME("(%p, %p): semi-stub\n", This, start_time); + + *start_time = 0; return S_OK; }
diff --git a/dlls/dmime/tests/dmime.c b/dlls/dmime/tests/dmime.c index ea5a972dc80..17fa951ae27 100644 --- a/dlls/dmime/tests/dmime.c +++ b/dlls/dmime/tests/dmime.c @@ -3985,12 +3985,12 @@ static void test_segment_state(void)
tmp_segment = (void *)0xdeadbeef; hr = IDirectMusicSegmentState_GetSegment(state, &tmp_segment); - todo_wine ok(hr == DMUS_E_NOT_FOUND, "got %#lx\n", hr); - todo_wine ok(tmp_segment == NULL, "got %p\n", tmp_segment); + ok(hr == DMUS_E_NOT_FOUND, "got %#lx\n", hr); + ok(tmp_segment == NULL, "got %p\n", tmp_segment); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetStartPoint(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == 0, "got %#lx\n", time); + ok(time == 0, "got %#lx\n", time); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetRepeats(state, &value); ok(hr == S_OK, "got %#lx\n", hr); @@ -3998,11 +3998,11 @@ static void test_segment_state(void) time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetStartTime(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == -1, "got %#lx\n", time); + ok(time == -1, "got %#lx\n", time); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetSeek(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == 0, "got %#lx\n", time); + ok(time == 0, "got %#lx\n", time);
/* PlaySegment returns a different, genuine segment state */