Also use mutual recursion for program list changes

The VST3 version of Voxengo TEOTE would deadlock in Ardour when Ardour
calls `IEditController::setState()`, the plugin calls
`IUnitHandler::notifyProgramListChange()` in response, and then when
Ardour calls `IUnitInfo::getProgramName()` while handling that callback.
All of these functions have to be called from the same thread in Voxengo
plugins.
This commit is contained in:
Robbert van der Helm
2021-05-02 00:38:14 +02:00
parent fd29c7d825
commit 5c88140c54
3 changed files with 19 additions and 7 deletions
+2
View File
@@ -93,6 +93,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
open.
- Fixed VST3 plugins freezing in **Ardour** and **Mixbus** when the plugin tries
to automate a parameter while loading a preset.
- Fixed _Voxengo_ VST3 plugins freezing in **Ardour** and **Mixbus** when
loading a project or when duplicating the plugin instances.
- Fixed potential X11 errors resulting in assertion failures and crashes in
**Ardour** and **Mixbus** by ignoring X11 events after those hosts hides the
editor window.