summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-01-24 03:19:24 +0100
committerRobin Gareus <robin@gareus.org>2016-01-24 03:22:19 +0100
commitb6eab5ede5402cfc44cf253a63cb3dbb792a0ec5 (patch)
tree7d6419d87740950a5ca18bde1f1ee3c20f540a9c
parent470255effaab8f691b74a717857dc1ff71f32af3 (diff)
deactivate plugin if connect_and_run returns an error
-rw-r--r--libs/ardour/plugin_insert.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index b001895e0e..96b8570d8c 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -439,7 +439,9 @@ PluginInsert::connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t of
}
for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
- (*i)->connect_and_run(bufs, in_map, out_map, nframes, offset);
+ if ((*i)->connect_and_run(bufs, in_map, out_map, nframes, offset)) {
+ deactivate ();
+ }
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
in_map.offset_to(*t, natural_input_streams().get(*t));
out_map.offset_to(*t, natural_output_streams().get(*t));