summaryrefslogtreecommitdiff
path: root/gtk2_ardour/lv2_plugin_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-11-05 02:06:20 +0100
committerRobin Gareus <robin@gareus.org>2013-11-05 02:06:20 +0100
commitc01e37171ef5ebf6da0ec2cd9ef39873634979ee (patch)
tree599069d98e5dd5b2879658a563d1dbfe5a70eafa /gtk2_ardour/lv2_plugin_ui.cc
parente24089ec1f2464ebca7cdd1f32f1b8818eb0a856 (diff)
keep processing LV2 Ringbuffer once it is allocated
Discard messages in LV2PluginUI::write_to_ui() if the ringbuffer exists but the UI is not active. This fixes "[ERROR]: Error writing from plugin to UI" messages if the UI was once active but has been closed since. This is a hotfix solution, eventually the LV2 backend should be updated and a function LV2Plugin::disable_ui_emmission() implemented.
Diffstat (limited to 'gtk2_ardour/lv2_plugin_ui.cc')
-rw-r--r--gtk2_ardour/lv2_plugin_ui.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc
index c273c1f4dd..07e8699ebc 100644
--- a/gtk2_ardour/lv2_plugin_ui.cc
+++ b/gtk2_ardour/lv2_plugin_ui.cc
@@ -478,12 +478,12 @@ void
LV2PluginUI::on_window_hide()
{
//printf("LV2PluginUI::on_window_hide\n");
- _message_update_connection.disconnect();
if (_lv2->is_external_ui()) {
if (!_external_ui_ptr) { return; }
LV2_EXTERNAL_UI_HIDE(_external_ui_ptr);
if (!_lv2->is_external_kx()) { return ; }
+ _message_update_connection.disconnect();
_screen_update_connection.disconnect();
_external_ui_ptr = NULL;
suil_instance_free((SuilInstance*)_inst);