summaryrefslogtreecommitdiff
path: root/libs/ardour/midiport_manager.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-28 20:15:15 +0200
committerRobin Gareus <robin@gareus.org>2017-07-28 20:15:15 +0200
commitb5e0b5b09f41d2529bf4ba37f69602f914828e58 (patch)
tree9b29192370601cd67ea802bd6c3cde7e6b387f6c /libs/ardour/midiport_manager.cc
parent964b88e651ac3324d85f735aad3faba226b582f6 (diff)
PortManager::unregister_port() must be called with process lock
This fixes "Failed to register <surface> port" when re-loading a session.
Diffstat (limited to 'libs/ardour/midiport_manager.cc')
-rw-r--r--libs/ardour/midiport_manager.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ardour/midiport_manager.cc b/libs/ardour/midiport_manager.cc
index 7f5dee4c64..cf1d90ac56 100644
--- a/libs/ardour/midiport_manager.cc
+++ b/libs/ardour/midiport_manager.cc
@@ -37,6 +37,7 @@ MidiPortManager::MidiPortManager ()
MidiPortManager::~MidiPortManager ()
{
+ Glib::Threads::Mutex::Lock em (AudioEngine::instance()->process_lock());
if (_midi_in) {
AudioEngine::instance()->unregister_port (_midi_in);
}