From c01e37171ef5ebf6da0ec2cd9ef39873634979ee Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 5 Nov 2013 02:06:20 +0100 Subject: [PATCH] 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. --- gtk2_ardour/lv2_plugin_ui.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);