summaryrefslogtreecommitdiff
path: root/libs/ardour/port.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/port.cc')
-rw-r--r--libs/ardour/port.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc
index ebe31a1fde..247357d16b 100644
--- a/libs/ardour/port.cc
+++ b/libs/ardour/port.cc
@@ -238,15 +238,20 @@ Port::reconnect ()
return 0;
}
-/** @param n Short name */
+/** @param n Short or long name */
int
Port::set_name (std::string const & n)
{
- assert (_name.find_first_of (':') == std::string::npos);
+ if (n == _name) {
+ return 0;
+ }
+
+ string const s = _engine->make_port_name_non_relative (n);
+
+ int const r = jack_port_set_name (_jack_port, s.c_str());
- int const r = jack_port_set_name (_jack_port, n.c_str());
if (r == 0) {
- _name = n;
+ _name = n; // short form, probably
}
return r;