fail to create Monitor section if port-names are not unique
authorRobin Gareus <robin@gareus.org>
Fri, 11 Sep 2015 11:14:27 +0000 (13:14 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 11 Sep 2015 11:14:27 +0000 (13:14 +0200)
We should still prevent a user from naming a route "Monitor", but
since "Monitor" is a translatable string, this is an i18n safeguard. eg.
 - create a session with a mon-section and a track Монитор.
 - send the session to a friend in Russia.

libs/ardour/session.cc

index 99e3bdd958cd44cd34ef9738a2f181cbe1a0f08c..46f8b18b6e58ef871c8a8e078c4e659cfb2b3368 100644 (file)
@@ -1028,10 +1028,13 @@ Session::add_monitor_section ()
 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
        // boost_debug_shared_ptr_mark_interesting (r.get(), "Route");
 #endif
-       {
+       try {
                Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ());
                r->input()->ensure_io (_master_out->output()->n_ports(), false, this);
                r->output()->ensure_io (_master_out->output()->n_ports(), false, this);
+       } catch (...) {
+               error << _("Cannot create monitor section. 'Monitor' Port name is not unique.") << endmsg;
+               return;
        }
 
        rl.push_back (r);