diff options
author | Robin Gareus <robin@gareus.org> | 2017-01-20 11:32:55 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-01-20 11:32:55 +0100 |
commit | 02d484de8a4733907b40743557459a8cc42565b7 (patch) | |
tree | c9c0074d135f0f39bf87add3d2ed9cf31a31604e | |
parent | 6b5dce2c66554df2243d62ca06c93b9c9eefc8fa (diff) |
Plug some libardour memory leaks
-rw-r--r-- | libs/ardour/io.cc | 3 | ||||
-rw-r--r-- | libs/ardour/worker.cc | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index b5a81c71e8..8528a9cd37 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -96,6 +96,7 @@ IO::~IO () for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) { _session.engine().unregister_port (*i); } + delete pending_state_node; pending_state_node = 0; } void @@ -662,6 +663,7 @@ IO::set_state (const XMLNode& node, int version) } else { + delete pending_state_node; pending_state_node = new XMLNode (node); pending_state_node_version = version; pending_state_node_in = false; @@ -716,6 +718,7 @@ IO::set_state_2X (const XMLNode& node, int version, bool in) } else { + delete pending_state_node; pending_state_node = new XMLNode (node); pending_state_node_version = version; pending_state_node_in = in; diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc index f8a5e44aee..0a5971fa3e 100644 --- a/libs/ardour/worker.cc +++ b/libs/ardour/worker.cc @@ -50,6 +50,9 @@ Worker::~Worker() if (_thread) { _thread->join(); } + delete _responses; + delete _requests; + free (_response); } bool |