summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-10-08 15:28:21 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-10-08 15:28:21 -0400
commit0c448c387bf4fc11c1bc2494055303ed12a15208 (patch)
tree2e95ebe765332dc8e6859844ed0c853f2b435ccd
parentd3efef7f5c5b7256858665dd9d7199316125e5eb (diff)
fix crash when switching from regular MIDI to ipMIDI Mackie surface
-rw-r--r--libs/surfaces/mackie/surface.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/surface.cc b/libs/surfaces/mackie/surface.cc
index 5551c5d0de..5ee2e81abd 100644
--- a/libs/surfaces/mackie/surface.cc
+++ b/libs/surfaces/mackie/surface.cc
@@ -150,6 +150,8 @@ Surface::~Surface ()
delete *it;
}
+ port_connection.disconnect ();
+
delete _jog_wheel;
delete _port;
@@ -159,6 +161,10 @@ Surface::~Surface ()
void
Surface::connection_handler (boost::weak_ptr<ARDOUR::Port>, std::string name1, boost::weak_ptr<ARDOUR::Port>, std::string name2, bool yn)
{
+ if (!_port) {
+ return;
+ }
+
string ni = ARDOUR::AudioEngine::instance()->make_port_name_non_relative (_port->input_name());
string no = ARDOUR::AudioEngine::instance()->make_port_name_non_relative (_port->output_name());