summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-10-03 13:51:17 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-10-03 13:51:17 -0400
commit1e5672de9827f3fd73cc79f6664644d547a64526 (patch)
tree5ea8e8ab75ba39a9175864dc41833f04b5806884
parent9d7b5f6df96ba25829a0fd775b37eb90dca5fce3 (diff)
reset IP MIDI port when deleting a mackie surface port
-rw-r--r--libs/surfaces/mackie/surface_port.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/surfaces/mackie/surface_port.cc b/libs/surfaces/mackie/surface_port.cc
index 9694d7f08c..3d7c1d66c6 100644
--- a/libs/surfaces/mackie/surface_port.cc
+++ b/libs/surfaces/mackie/surface_port.cc
@@ -74,15 +74,17 @@ SurfacePort::~SurfacePort()
{
if (dynamic_cast<MIDI::IPMIDIPort*>(_input_port)) {
delete _input_port;
+ _input_port = 0;
} else {
-
if (_async_in) {
+ DEBUG_TRACE (DEBUG::MackieControl, string_compose ("unregistering input port %1\n", _async_in->name()));
AudioEngine::instance()->unregister_port (_async_in);
_async_in.reset ((ARDOUR::Port*) 0);
}
if (_async_out) {
_output_port->drain (10000);
+ DEBUG_TRACE (DEBUG::MackieControl, string_compose ("unregistering output port %1\n", _async_out->name()));
AudioEngine::instance()->unregister_port (_async_out);
_async_out.reset ((ARDOUR::Port*) 0);
}