diff options
author | Robin Gareus <robin@gareus.org> | 2016-12-11 00:03:44 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-12-11 00:04:08 +0100 |
commit | 39903a00235a6bd222da23bab177a960ce1c5947 (patch) | |
tree | 34947edd3af4537dc3ba9173411ec1bd206cc104 /libs/ardour/session.cc | |
parent | 642b3573760646c902225eaba83c2bc10442e057 (diff) |
Check for reserved i/o that are not routes, fixes #7171
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 4bf070dc21..4f005b1001 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -2366,12 +2366,12 @@ Session::find_route_name (string const & base, uint32_t& id, string& name, bool before anything else. */ - for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) { - if (base == *reserved) { + for (map<string,bool>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) { + if (base == reserved->first) { /* Check if this reserved name already exists, and if so, disallow it without a numeric suffix. */ - if (route_by_name (*reserved)) { + if (!reserved->second || route_by_name (reserved->first)) { definitely_add_number = true; if (id < 1) { id = 1; @@ -4075,9 +4075,9 @@ Session::io_name_is_legal (const std::string& name) const { boost::shared_ptr<RouteList> r = routes.reader (); - for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) { - if (name == *reserved) { - if (!route_by_name (*reserved)) { + for (map<string,bool>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) { + if (name == reserved->first) { + if (!route_by_name (reserved->first)) { /* first instance of a reserved name is allowed */ return true; } |