Fix another possible case of illegal use of reserved port-names
authorRobin Gareus <robin@gareus.org>
Wed, 10 May 2017 18:28:47 +0000 (20:28 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 10 May 2017 18:29:08 +0000 (20:29 +0200)
Session::io_name_is_legal() is used for Routes and Processors:
Route::set_name(), ProcessorBox::rename_processor() and
and Route::ensure_track_or_route_name() -- it is not used for actual
I/O objects.

libs/ardour/session.cc

index a69c69b27b38056fdd16202f763d34c5d9d5e60e..ffb002272927cc078516b2caacc5540e5ad2fc9e 100644 (file)
@@ -4277,8 +4277,8 @@ Session::io_name_is_legal (const std::string& name) const
        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;
+                               /* first instance of a reserved name is allowed for some */
+                               return reserved->second;
                        }
                        /* all other instances of a reserved name are not allowed */
                        return false;