Module: wine Branch: master Commit: 5a66857fb483e9bc5c2171364554d3731e09de67 URL: https://gitlab.winehq.org/wine/wine/-/commit/5a66857fb483e9bc5c2171364554d37...
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Oct 12 22:46:06 2023 +0200
dmime: Don't interrupt track iteration if SetParam failed.
---
dlls/dmime/segment.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c index 280abaa004c..d7402911f00 100644 --- a/dlls/dmime/segment.c +++ b/dlls/dmime/segment.c @@ -409,11 +409,9 @@ static HRESULT WINAPI segment_SetParam(IDirectMusicSegment8 *iface, REFGUID type if (index != DMUS_SEG_ALLTRACKS && index--) continue; }
- hr = IDirectMusicTrack_IsParamSupported(entry->pTrack, type); - if (hr == DMUS_E_TYPE_UNSUPPORTED) continue; - - hr = IDirectMusicTrack_SetParam(entry->pTrack, type, music_time, param); - if (FAILED(hr)) break; + if (SUCCEEDED(hr = IDirectMusicTrack_IsParamSupported(entry->pTrack, type)) + && FAILED(hr = IDirectMusicTrack_SetParam(entry->pTrack, type, music_time, param))) + WARN("SetParam for track %p failed, hr %#lx\n", entry->pTrack, hr); }
return S_OK;