summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-09 08:24:35 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-09 08:24:35 -0500
commit3c4e9cb64e6a7f8e2be201c6c04073244fc0ee12 (patch)
tree547ced11fc4e49420d5283a3707b0d3c3648e3be /libs
parent647a60d35d1ebc489c67ee4426573a4c519b6a36 (diff)
more correct semantics for reserved IO name checking
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 7eb608ff29..f57731b245 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3758,9 +3758,12 @@ Session::io_name_is_legal (const std::string& name)
for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) {
if (name == *reserved) {
- if (route_by_name (*reserved)) {
- return false;
+ if (!route_by_name (*reserved)) {
+ /* first instance of a reserved name is allowed */
+ return true;
}
+ /* all other instances of a reserved name are not allowed */
+ return false;
}
}