From bc1c3e5c21f6dd1a8fea7e9da284d1a40ba15721 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 31 Mar 2020 19:46:13 +0200 Subject: 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 --- libs/ardour/route.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libs/ardour/route.cc') diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index d420824219..f71f87e02f 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -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); -- cgit v1.2.3