Pass channel context data from the GUI thread

This fixes Melodyne crashing as it presumably immediately wants to
redraw upon receiving this.
This commit is contained in:
Robbert van der Helm
2021-01-12 18:44:10 +01:00
parent 23f681c742
commit 561aee4963
+10 -2
View File
@@ -433,8 +433,16 @@ void Vst3Bridge::run() {
},
[&](YaInfoListener::SetChannelContextInfos& request)
-> YaInfoListener::SetChannelContextInfos::Response {
return object_instances[request.instance_id]
.info_listener->setChannelContextInfos(&request.list);
// Melodyne wants to immediately update the GUI upon receiving
// certain channel context data, so this has to be run from the
// main thread
return main_context
.run_in_context<tresult>([&]() {
return object_instances[request.instance_id]
.info_listener->setChannelContextInfos(
&request.list);
})
.get();
},
[&](const YaKeyswitchController::GetKeyswitchCount& request)
-> YaKeyswitchController::GetKeyswitchCount::Response {