Plug some libardour memory leaks
[ardour.git] / libs / ardour / io.cc
index b5a81c71e821bf08ed65b8ac1eb13b56c2f0d4b3..8528a9cd3758a7ae278bb654c6a251a61809a718 100644 (file)
@@ -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;