mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-15 16:03:55 +02:00
Revert "Separate mutual recursion on GUI and other threads"
This reverts commit a495f1a67f.
This ended up not being an issue. What we _do_ have to do, sadly, is to
have a mutual recursion context stack per plugin. Otherwise multiple
plugin instances can deadlock eachother.
This commit is contained in:
@@ -61,7 +61,7 @@ Vst3ComponentHandlerProxyImpl::endEdit(Steinberg::Vst::ParamID id) {
|
||||
|
||||
tresult PLUGIN_API
|
||||
Vst3ComponentHandlerProxyImpl::restartComponent(int32 flags) {
|
||||
return bridge.send_mutually_recursive_message<false>(
|
||||
return bridge.send_mutually_recursive_message(
|
||||
YaComponentHandler::RestartComponent{
|
||||
.owner_instance_id = owner_instance_id(), .flags = flags});
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ Vst3ConnectionPointProxyImpl::notify(Steinberg::Vst::IMessage* message) {
|
||||
// need to use our mutual recursion mechanism. Luckily only Ardour uses
|
||||
// connection proxies, so if this ends up breaking something it will
|
||||
// only affect Ardour.
|
||||
return bridge.send_mutually_recursive_message<true>(
|
||||
return bridge.send_mutually_recursive_message(
|
||||
YaConnectionPoint::Notify{.instance_id = owner_instance_id(),
|
||||
.message_ptr = YaMessagePtr(*message)});
|
||||
} else {
|
||||
|
||||
@@ -46,9 +46,8 @@ Vst3PlugFrameProxyImpl::resizeView(Steinberg::IPlugView* /*view*/,
|
||||
// We have to use this special sending function here so we can handle
|
||||
// calls to `IPlugView::onSize()` from this same thread (the UI thread).
|
||||
// See the docstring for more information.
|
||||
return bridge.send_mutually_recursive_message<true>(
|
||||
YaPlugFrame::ResizeView{.owner_instance_id = owner_instance_id(),
|
||||
.new_size = *newSize});
|
||||
return bridge.send_mutually_recursive_message(YaPlugFrame::ResizeView{
|
||||
.owner_instance_id = owner_instance_id(), .new_size = *newSize});
|
||||
} else {
|
||||
std::cerr
|
||||
<< "WARNING: Null pointer passed to 'IPlugFrame::resizeView()'"
|
||||
|
||||
Reference in New Issue
Block a user