summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-11-24 13:56:22 +0000
committerCarl Hetherington <carl@carlh.net>2010-11-24 13:56:22 +0000
commit8f2c07eedc15de9c05fab8c704a86b2be6fa9f05 (patch)
treeb4a4bd99c1f4d99db82fe0868f90be7d8d709d87 /libs/ardour/route.cc
parentf6019bd0edcbdfc4d67d26a6bdb4323a732a4bf3 (diff)
Prevent crash when loading sessions with unknown plugins.
git-svn-id: svn://localhost/ardour2/branches/3.0@8082 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index ed36a1a3b1..1bb9c63db5 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2323,14 +2323,15 @@ Route::set_processor_state (const XMLNode& node)
continue;
}
- processor->set_state (**niter, Stateful::current_state_version);
- new_order.push_back (processor);
- must_configure = true;
+ if (processor->set_state (**niter, Stateful::current_state_version) == 0) {
+ new_order.push_back (processor);
+ must_configure = true;
+ }
}
}
}
- {
+ {
Glib::RWLock::WriterLock lm (_processor_lock);
_processors = new_order;
if (must_configure) {