Postpone disk-i/o setup during session-load

This fixes another assert(), caused by configuring processors,
before set_processor_state() was called.
Route::configure_processors() will be called later.

---
#3  0x00007ffff2472102 in __GI___assert_fail at assert.c:101
#4  0x00007ffff7a8ca1f in ARDOUR::Route::setup_invisible_processors() at ../libs/ardour/route.cc:5013
#5  0x00007ffff7a7a665 in ARDOUR::Route::configure_processors_unlocked at ../libs/ardour/route.cc:1870
#6  0x00007ffff7a79377 in ARDOUR::Route::configure_processors at ../libs/ardour/route.cc:1719
#7  0x00007ffff7a902c0 in ARDOUR::Route::set_disk_io_point at ../libs/ardour/route.cc:6041
#8  0x00007ffff7a7ea0a in ARDOUR::Route::set_state at ../libs/ardour/route.cc:2679
This commit is contained in:
Robin Gareus 2020-03-31 19:46:13 +02:00
parent 5253c7eb8b
commit bc1c3e5c21
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -6036,6 +6036,10 @@ Route::set_disk_io_point (DiskIOPoint diop)
_disk_io_point = diop;
if (_initial_io_setup) {
return;
}
if (changed) {
Glib::Threads::Mutex::Lock lx (AudioEngine::instance()->process_lock ());
configure_processors (0);