summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/plugin_ui.cc')
-rw-r--r--gtk2_ardour/plugin_ui.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index 36c5001816..e92da7f49a 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -136,8 +136,8 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)), false);
- insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
-
+ death_connection = insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
+
gint h = _pluginui->get_preferred_height ();
gint w = _pluginui->get_preferred_width ();
@@ -155,6 +155,7 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert
PluginUIWindow::~PluginUIWindow ()
{
+ delete _pluginui;
}
void
@@ -333,6 +334,9 @@ PluginUIWindow::plugin_going_away ()
if (_pluginui) {
_pluginui->stop_updating(0);
}
+
+ death_connection.disconnect ();
+
delete_when_idle (this);
}
@@ -383,6 +387,10 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
plugin_eq_bin.set_expanded(true);
}
+PlugUIBase::~PlugUIBase()
+{
+}
+
void
PlugUIBase::processor_active_changed (boost::weak_ptr<Processor> weak_p)
{