summaryrefslogtreecommitdiffstats
path: root/src/server/JackDriver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-12-21 06:22:49 +0000
committerDavid Robillard <d@drobilla.net>2012-12-21 06:22:49 +0000
commit7c8166d2eab084fe4abdc0bf4045641a2809e4f9 (patch)
tree1c269a9f666500980ea00cec22a9debf4e174be8 /src/server/JackDriver.cpp
parentf67344b4c6c7df01dd1e9f3023fa20416103cb6a (diff)
downloadingen-7c8166d2eab084fe4abdc0bf4045641a2809e4f9.tar.gz
ingen-7c8166d2eab084fe4abdc0bf4045641a2809e4f9.tar.bz2
ingen-7c8166d2eab084fe4abdc0bf4045641a2809e4f9.zip
Fix memory leaks.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4873 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/JackDriver.cpp')
-rw-r--r--src/server/JackDriver.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/JackDriver.cpp b/src/server/JackDriver.cpp
index ac3393a2..fd6b2631 100644
--- a/src/server/JackDriver.cpp
+++ b/src/server/JackDriver.cpp
@@ -66,9 +66,14 @@ JackDriver::JackDriver(Engine& engine)
&_forge, &engine.world()->uri_map().urid_map_feature()->urid_map);
}
+struct PortDisposer {
+ void operator()(EnginePort* port) { delete port; }
+};
+
JackDriver::~JackDriver()
{
deactivate();
+ _ports.clear_and_dispose(PortDisposer());
if (_client)
jack_client_close(_client);