summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-07 22:15:59 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-07 22:16:07 -0500
commit3d5bdbbe6633c7b837e530686bdc3a3496179b42 (patch)
tree586deab538d66c48c42f0beb4643afeb908d2536 /libs
parent09672f4a5048ea31b30be80f092778724d06101e (diff)
don't force rename of reserved route/IO names if the name isn't taken yet
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index a3b82d9d4b..900be1afbc 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -2214,9 +2214,14 @@ Session::find_route_name (string const & base, uint32_t& id, string& name, bool
for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) {
if (base == *reserved) {
- definitely_add_number = true;
- if (id < 1) {
- id = 1;
+ /* Check if this reserved name already exists, and if
+ so, disallow it without a numeric suffix.
+ */
+ if (route_by_name (*reserved)) {
+ definitely_add_number = true;
+ if (id < 1) {
+ id = 1;
+ }
}
break;
}
@@ -3753,7 +3758,11 @@ 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) {
- return false;
+ if (route_by_name (*reserved)) {
+ return false;
+ } else {
+ return true;
+ }
}
}