mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Fix editor GUIs for plugin groups
Handles for things like timers should be unique on a per-thread basis in the Win32 API, but apparently window classes have to be unique for the entire application.
This commit is contained in:
@@ -361,8 +361,13 @@ intptr_t Vst2Bridge::dispatch_wrapper(AEffect* plugin,
|
|||||||
// provided by the host, and let the plugin embed itself into
|
// provided by the host, and let the plugin embed itself into
|
||||||
// the Wine window
|
// the Wine window
|
||||||
const auto x11_handle = reinterpret_cast<size_t>(data);
|
const auto x11_handle = reinterpret_cast<size_t>(data);
|
||||||
|
// Win32 window classes have to be unique for the whole application.
|
||||||
|
// When hosting multiple plugins in a group process, all plugins
|
||||||
|
// should get a unique window class
|
||||||
|
const std::string window_class =
|
||||||
|
"yabridge plugin " + socket_endpoint.path();
|
||||||
Editor& editor_instance =
|
Editor& editor_instance =
|
||||||
editor.emplace<Editor>("yabridge plugin", plugin, x11_handle);
|
editor.emplace<Editor>(window_class, plugin, x11_handle);
|
||||||
|
|
||||||
return plugin->dispatcher(plugin, opcode, index, value,
|
return plugin->dispatcher(plugin, opcode, index, value,
|
||||||
editor_instance.win32_handle.get(),
|
editor_instance.win32_handle.get(),
|
||||||
|
|||||||
Reference in New Issue
Block a user