summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-15 13:04:47 +0200
committerRobin Gareus <robin@gareus.org>2014-06-15 13:24:41 +0200
commit36be1a3a9b38cddfd36137ef4d39382dc61de5fb (patch)
tree18ae56e66a8eaad92ee244d6bc45d9bf8a7e2c21
parent51cbf674d30f55e0b7a41504e72df929864161fc (diff)
plug some leaks
-rw-r--r--libs/ardour/globals.cc2
-rw-r--r--libs/ardour/midi_diskstream.cc2
-rw-r--r--libs/ardour/panner_manager.cc2
-rw-r--r--libs/gtkmm2ext/gtk_ui.cc2
-rw-r--r--libs/pbd/pbd/abstract_ui.cc2
5 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 39bcd1b79e..054ffffe51 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -390,6 +390,8 @@ ARDOUR::cleanup ()
#ifdef LXVST_SUPPORT
vstfx_exit();
#endif
+ delete &PluginManager::instance();
+ delete Config;
PBD::cleanup ();
return;
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index 7c75c8d2e6..1cc69263f0 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -138,6 +138,8 @@ MidiDiskstream::init ()
MidiDiskstream::~MidiDiskstream ()
{
Glib::Threads::Mutex::Lock lm (state_lock);
+ delete _playback_buf;
+ delete _capture_buf;
}
diff --git a/libs/ardour/panner_manager.cc b/libs/ardour/panner_manager.cc
index 0cc95c8e7a..95136c2951 100644
--- a/libs/ardour/panner_manager.cc
+++ b/libs/ardour/panner_manager.cc
@@ -124,6 +124,8 @@ PannerManager::panner_discover (string path)
if (i == panner_info.end()) {
panner_info.push_back (pinfo);
DEBUG_TRACE (DEBUG::Panning, string_compose(_("Panner discovered: \"%1\" in %2\n"), pinfo->descriptor.name, path));
+ } else {
+ delete pinfo;
}
}
diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc
index 294c004a06..6a490e1bb0 100644
--- a/libs/gtkmm2ext/gtk_ui.cc
+++ b/libs/gtkmm2ext/gtk_ui.cc
@@ -70,6 +70,7 @@ template class AbstractUI<Gtkmm2ext::UIRequest>;
UI::UI (string namestr, int *argc, char ***argv)
: AbstractUI<UIRequest> (namestr)
, _receiver (*this)
+ , errors (0)
{
theMain = new Main (argc, argv);
@@ -124,6 +125,7 @@ UI::UI (string namestr, int *argc, char ***argv)
UI::~UI ()
{
_receiver.hangup ();
+ delete (errors);
}
bool
diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc
index 8841301afe..cf5292b9e6 100644
--- a/libs/pbd/pbd/abstract_ui.cc
+++ b/libs/pbd/pbd/abstract_ui.cc
@@ -211,6 +211,7 @@ AbstractUI<RequestObject>::handle_ui_requests ()
if (vec.buf[0]->invalidation) {
vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
}
+ delete vec.buf[0];
i->second->increment_read_ptr (1);
}
}
@@ -326,6 +327,7 @@ AbstractUI<RequestObject>::send_request (RequestObject *req)
*/
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1/%2 direct dispatch of request type %3\n", name(), pthread_name(), req->type));
do_request (req);
+ delete req;
} else {
/* If called from a different thread, we first check to see if