From 9fcc48d140ffcb2d22ca92952047b31337ee9b1c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 11 Sep 2015 13:14:27 +0200 Subject: [PATCH] fail to create Monitor section if port-names are not unique MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 99e3bdd958..46f8b18b6e 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -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);