summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-16 16:02:25 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-16 16:02:25 +0000
commita4b8955f3eb87405ceafe5c8680d9439f441458e (patch)
treecad2bf815f268ec1fdad34c1cc09089289ee3736 /gtk2_ardour/plugin_ui.cc
parent60eef7dd3e0240367550a274a91ddb498dedcbc2 (diff)
part 2 of 3 of the 2.8 -> 3.0 merge
git-svn-id: svn://localhost/ardour2/branches/3.0@4987 d708f5d6-7413-0410-9779-e7cbd77b26cf
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)
{