Move Win32 event handling to one place

Or technically, two, since the group bridge also does the same loop. We
no longer need special handling for VST2 and VST3 plugins, so we can
simplify things a bit here.
This commit is contained in:
Robbert van der Helm
2021-02-09 23:45:33 +01:00
parent a91fad2217
commit 3fbffa532d
6 changed files with 14 additions and 28 deletions
+13
View File
@@ -16,5 +16,18 @@
#include "common.h"
#include "../editor.h"
HostBridge::HostBridge(boost::filesystem::path plugin_path)
: plugin_path(plugin_path) {}
void HostBridge::handle_win32_events() {
MSG msg;
for (int i = 0;
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
i++) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
+1 -4
View File
@@ -80,11 +80,8 @@ class HostBridge {
* specific situation that can cause a race condition in some plugins
* because of incorrect assumptions made by the plugin. See the dostring for
* `Vst2Bridge::editor` for more information.
*
* TODO: We can get rid of this now, since we no longer have any special
* handling here
*/
virtual void handle_win32_events() = 0;
void handle_win32_events();
/**
* The path to the .dll being loaded in the Wine plugin host.
-11
View File
@@ -379,17 +379,6 @@ void Vst2Bridge::handle_x11_events() {
}
}
void Vst2Bridge::handle_win32_events() {
MSG msg;
for (int i = 0;
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
i++) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
intptr_t Vst2Bridge::dispatch_wrapper(AEffect* plugin,
int opcode,
int index,
-1
View File
@@ -68,7 +68,6 @@ class Vst2Bridge : public HostBridge {
void run() override;
void handle_x11_events() override;
void handle_win32_events() override;
/**
* Forward the host callback made by the plugin to the host and return the
-11
View File
@@ -1077,17 +1077,6 @@ void Vst3Bridge::handle_x11_events() {
}
}
void Vst3Bridge::handle_win32_events() {
MSG msg;
for (int i = 0;
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
i++) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
void Vst3Bridge::register_context_menu(Vst3ContextMenuProxyImpl& context_menu) {
std::lock_guard lock(object_instances[context_menu.owner_instance_id()]
.registered_context_menus_mutex);
-1
View File
@@ -232,7 +232,6 @@ class Vst3Bridge : public HostBridge {
void run() override;
void handle_x11_events() override;
void handle_win32_events() override;
/**
* Send a callback message to the host return the response. This is a