summaryrefslogtreecommitdiff
path: root/gtk2_ardour/lv2_plugin_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-09-02 16:57:46 +0200
committerRobin Gareus <robin@gareus.org>2013-09-02 16:57:46 +0200
commit01e0f512232fe73c18339f368c90f581a5bebdb2 (patch)
treed35f6d937fb7bf9c417857e60911426d9075cbe0 /gtk2_ardour/lv2_plugin_ui.cc
parentc05ad01b2d3509c9047d320f2c35fbdced648165 (diff)
LV2 extUI handling - amend to previous commit.
Diffstat (limited to 'gtk2_ardour/lv2_plugin_ui.cc')
-rw-r--r--gtk2_ardour/lv2_plugin_ui.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc
index 1deff32abd..c273c1f4dd 100644
--- a/gtk2_ardour/lv2_plugin_ui.cc
+++ b/gtk2_ardour/lv2_plugin_ui.cc
@@ -115,11 +115,8 @@ LV2PluginUI::on_external_ui_closed(void* controller)
{
//printf("LV2PluginUI::on_external_ui_closed\n");
LV2PluginUI* me = (LV2PluginUI*)controller;
- if (me->_lv2->is_external_kx() /* called from plugin's UI_RUN() */) {
- me->_screen_update_connection.disconnect();
- // plugin is free()d in parent function - LV2PluginUI::output_update()
- me->_external_ui_ptr = NULL;
- }
+ me->_screen_update_connection.disconnect();
+ me->_external_ui_ptr = NULL;
}
void
@@ -175,7 +172,7 @@ LV2PluginUI::output_update()
// clean up external UI if it closes itself via
// on_external_ui_closed() during run()
//printf("LV2PluginUI::output_update -- UI was closed\n");
- _screen_update_connection.disconnect();
+ //_screen_update_connection.disconnect();
_message_update_connection.disconnect();
if (_inst) {
suil_instance_free((SuilInstance*)_inst);
@@ -485,9 +482,9 @@ LV2PluginUI::on_window_hide()
if (_lv2->is_external_ui()) {
if (!_external_ui_ptr) { return; }
+ LV2_EXTERNAL_UI_HIDE(_external_ui_ptr);
if (!_lv2->is_external_kx()) { return ; }
_screen_update_connection.disconnect();
- LV2_EXTERNAL_UI_HIDE(_external_ui_ptr);
_external_ui_ptr = NULL;
suil_instance_free((SuilInstance*)_inst);
_inst = NULL;