mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-14 12:30:00 +02:00
Run certain GUI tasks from the host's run loop
This was a bit of a tricky one because it requires simulating mutual recursion, but it's needed for REAPER as otherwide calls to `IPlugFrame::resizeView()` and `IContextMenu::popup()` might cause REAPER to segfault because its GUI is not thread safe.
This commit is contained in:
@@ -244,6 +244,8 @@ class Vst3Bridge : public HostBridge {
|
||||
* The hacky solution here is to send the message from another thread, and
|
||||
* to then allow this thread to execute other functions submitted to an IO
|
||||
* context.
|
||||
*
|
||||
* We apply the same trick in `Vst3PlugViewProxyImpl`.
|
||||
*/
|
||||
template <typename T>
|
||||
typename T::Response send_mutually_recursive_message(const T& object) {
|
||||
|
||||
Reference in New Issue
Block a user