13
0

Unregister ports at session close.

This fixes issues when re-loading a session without taking the
engine down.
This commit is contained in:
Robin Gareus 2017-04-01 13:14:17 +02:00
parent d61683809d
commit 727ac30dd2

View File

@ -625,7 +625,7 @@ Session::destroy ()
ControlProtocolManager::instance().drop_protocols ();
/* stop autoconnecting */
/* stop auto dis/connecting */
auto_connect_thread_terminate ();
MIDI::Name::MidiPatchManager::instance().remove_search_path(session_directory().midi_patch_path());
@ -807,6 +807,14 @@ Session::destroy ()
}
}
{
/* unregister all dropped ports, process pending port deletion. */
// this may call ARDOUR::Port::drop ... jack_port_unregister ()
// jack1 cannot cope with removing ports while processing
Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ());
AudioEngine::instance()->clear_pending_port_deletions ();
}
DEBUG_TRACE (DEBUG::Destruction, "Session::destroy() done\n");
BOOST_SHOW_POINTERS ();