Module: wine Branch: master Commit: 2c08013b8c28a6c7b6b034daa29623e20f553c76 URL: https://gitlab.winehq.org/wine/wine/-/commit/2c08013b8c28a6c7b6b034daa29623e...
Author: Anton Baskanov baskanov@gmail.com Date: Sat Nov 11 11:40:50 2023 +0700
dmsynth: Preserve event order when positions are equal.
Fixes hanging notes that occur when noteon gets reordered with noteoff.
---
dlls/dmsynth/synth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c index bbe77e43cc9..222481c8769 100644 --- a/dlls/dmsynth/synth.c +++ b/dlls/dmsynth/synth.c @@ -977,7 +977,7 @@ static HRESULT WINAPI synth_PlayBuffer(IDirectMusicSynth8 *iface,
EnterCriticalSection(&This->cs); LIST_FOR_EACH_ENTRY(next_event, &This->events, struct event, entry) - if (next_event->position >= event->position) break; + if (next_event->position > event->position) break; list_add_before(&next_event->entry, &event->entry); LeaveCriticalSection(&This->cs); }