[PATCH v2 0/1] MR4703: dmime: Fix handling of curve PMSG.
DMUS_PMSG::dwType is the type of the message, but we are comparing it to curve types. We should be using DMUS_CURVE_PMSG::bType instead. * * * (I tried to write some test cases for this. I created a IDirectMusicPort implementation that checks the generated midi commands, but instead I cannot get Windows to generate any midi commands for CCCURVEs. ) -- v2: dmime: Fix handling of curve PMSG. https://gitlab.winehq.org/wine/wine/-/merge_requests/4703
From: Yuxuan Shui <yshui(a)codeweavers.com> DMUS_PMSG::dwType is the type of the message, but we are comparing it to curve types. We should be using DMUS_CURVE_PMSG::bType instead. --- dlls/dmime/performance.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index 1d1da250cc3..bd596750f34 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -2087,7 +2087,7 @@ static HRESULT WINAPI performance_tool_ProcessPMsg(IDirectMusicTool *iface, DMUS_CURVE_PMSG *curve = (DMUS_CURVE_PMSG *)msg; msg->mtTime += curve->nOffset; - switch (curve->dwType) + switch (curve->bType) { case DMUS_CURVET_CCCURVE: if (FAILED(hr = performance_send_midi_pmsg(This, msg, DMUS_PMSGF_MUSICTIME | DMUS_PMSGF_TOOL_IMMEDIATE, @@ -2096,7 +2096,13 @@ static HRESULT WINAPI performance_tool_ProcessPMsg(IDirectMusicTool *iface, break; case DMUS_CURVET_RPNCURVE: case DMUS_CURVET_NRPNCURVE: - FIXME("Unhandled curve type %#lx\n", curve->dwType); + case DMUS_CURVET_MATCURVE: + case DMUS_CURVET_PATCURVE: + case DMUS_CURVET_PBCURVE: + FIXME("Unhandled curve type %#x\n", curve->bType); + break; + default: + WARN("Invalid curve type %#x\n", curve->bType); break; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4703
force pushed to fix typo :face_palm: -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4703#note_56112
This merge request was approved by Rémi Bernon. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4703
Sorry for the delay got hit by covid and quarantined myself away. Test failures are unrelated to the patch (clipboard.c, win.c and richole.c). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4703#note_56407
This merge request was approved by Michael Stefaniuc. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4703
participants (4)
-
Michael Stefaniuc (@mstefani) -
Rémi Bernon -
Yuxuan Shui -
Yuxuan Shui (@yshui)