summaryrefslogtreecommitdiff
path: root/libs/ardour/io_processor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-06-28 19:03:59 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-06-28 19:03:59 -0400
commit9336bddee2b40e3e70699eec897ca100074db87a (patch)
tree3596300e8d41fa932c1fe6f1f6829f0336a2f49a /libs/ardour/io_processor.cc
parentff03eeab04cac06315de078a639869258af49c0c (diff)
call IO::prepare_for_reset() on BOTH IO nodes of a PortInsert's XML state, not just one of them.
Allows drag-n-drop of port inserts to work
Diffstat (limited to 'libs/ardour/io_processor.cc')
-rw-r--r--libs/ardour/io_processor.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/ardour/io_processor.cc b/libs/ardour/io_processor.cc
index 9a162e3f8b..e87b5a5912 100644
--- a/libs/ardour/io_processor.cc
+++ b/libs/ardour/io_processor.cc
@@ -287,9 +287,12 @@ IOProcessor::prepare_for_reset (XMLNode &state, const std::string& name)
state.set_property ("ignore-bitslot", true);
state.set_property ("ignore-name", true);
- XMLNode* io_node = state.child (IO::state_node_name.c_str());
+ XMLNodeList nlist = state.children();
+ XMLNodeIterator niter;
- if (io_node) {
- IO::prepare_for_reset (*io_node, name);
+ for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
+ if ((*niter)->name() == IO::state_node_name.c_str()) {
+ IO::prepare_for_reset (**niter, name);
+ }
}
}