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.
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);