summaryrefslogtreecommitdiff
path: root/libs/ardour/redirect.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/redirect.cc')
-rw-r--r--libs/ardour/redirect.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/redirect.cc b/libs/ardour/redirect.cc
index b5216cf323..ef01f3437a 100644
--- a/libs/ardour/redirect.cc
+++ b/libs/ardour/redirect.cc
@@ -72,12 +72,9 @@ Redirect::state (bool full_state)
int
Redirect::set_state (const XMLNode& node)
{
- Insert::set_state(node);
+ const XMLProperty *prop;
- if (node.name() != "Insert" && node.name() != "Redirect") {
- error << string_compose(_("incorrect XML node \"%1\" passed to Redirect object"), node.name()) << endmsg;
- return -1;
- }
+ Insert::set_state(node);
XMLNodeList nlist = node.children();
XMLNodeIterator niter;
@@ -87,6 +84,11 @@ Redirect::set_state (const XMLNode& node)
if ((*niter)->name() == IO::state_node_name) {
have_io = true;
_io->set_state(**niter);
+
+ // legacy sessions: use IO name
+ if ((prop = node.property ("name")) == 0) {
+ set_name(_io->name());
+ }
}
}