From: Anton Baskanov baskanov@gmail.com
--- dlls/dmsynth/synth.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c index e23fff4bdb1..1d2661cf8a9 100644 --- a/dlls/dmsynth/synth.c +++ b/dlls/dmsynth/synth.c @@ -1785,6 +1785,12 @@ static int synth_preset_noteon(fluid_preset_t *fluid_preset, fluid_synth_t *flui else if (instrument->patch == ((preset->bank << 8) | preset->patch)) break; }
+ if (&instrument->entry == &synth->instruments && preset->bank == 128) + { + LIST_FOR_EACH_ENTRY(instrument, &synth->instruments, struct instrument, entry) + if (instrument->patch == 0x80000000) break; + } + if (&instrument->entry == &synth->instruments) { fluid_preset = NULL;