From 49526b1e7d278ddf410df8ead260dda2d3921580 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 14 Jun 2022 14:40:17 +0200 Subject: [PATCH] Handle effGetProgramNameIndexed as mutually recursive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes changing presets in Full Bucket's Ragnarök. --- CHANGELOG.md | 3 +++ src/wine-host/bridges/vst2.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84816208..0bb26c01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ Versioning](https://semver.org/spec/v2.0.0.html). if the directory `foo` contained some random directory, containing another directory, containing `foo.vst3`. Yabridge always assumed this to be a bundle, even if it is not. +- Fixed Full Bucket's _Ragnarök_ causing some hosts to freeze when changing + presets due to some mutually recursive function calls that weren't being + handled as such. ### yabridge diff --git a/src/wine-host/bridges/vst2.cpp b/src/wine-host/bridges/vst2.cpp index 8b1e6f13..941aded9 100644 --- a/src/wine-host/bridges/vst2.cpp +++ b/src/wine-host/bridges/vst2.cpp @@ -82,7 +82,7 @@ static const std::unordered_set mutually_recursive_callbacks{ * list of situations where this may be necessary. */ static const std::unordered_set safe_mutually_recursive_requests{ - effGetProgram, effGetProgramName}; + effGetProgram, effGetProgramName, effGetProgramNameIndexed}; /** * Opcodes that should always be handled on the main thread because they may