summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-10-07 12:43:28 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-10-07 12:43:28 -0400
commitad4dc4460d25fb5cef3bda2fd3f4fcaab0b5ff5f (patch)
treefdd01a7bd0d3fc7efe52007c76955251f05acfff
parent9134323f4a6ae35cfd829af1f8154fea2b691457 (diff)
fix duplicate name check for new transport master
-rw-r--r--libs/ardour/transport_master_manager.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/libs/ardour/transport_master_manager.cc b/libs/ardour/transport_master_manager.cc
index 1eed0e5d1f..063224632c 100644
--- a/libs/ardour/transport_master_manager.cc
+++ b/libs/ardour/transport_master_manager.cc
@@ -315,6 +315,14 @@ TransportMasterManager::add (SyncSource type, std::string const & name, bool rem
{
Glib::Threads::RWLock::WriterLock lm (lock);
+
+ for (TransportMasters::const_iterator t = _transport_masters.begin(); t != _transport_masters.end(); ++t) {
+ if ((*t)->name() == name) {
+ error << string_compose (_("There is already a transport master named \"%1\" - not duplicated"), name) << endmsg;
+ return -1;
+ }
+ }
+
tm = TransportMaster::factory (type, name, removeable);
ret = add_locked (tm);
}
@@ -333,12 +341,6 @@ TransportMasterManager::add_locked (boost::shared_ptr<TransportMaster> tm)
return -1;
}
- for (TransportMasters::const_iterator t = _transport_masters.begin(); t != _transport_masters.end(); ++t) {
- if ((*t)->name() == tm->name()) {
- error << string_compose (_("There is already a transport master named \"%1\" - not duplicated"), tm->name()) << endmsg;
- return -1;
- }
- }
if (_session) {
tm->set_session (_session);