summaryrefslogtreecommitdiff
path: root/libs/ardour/port_engine_shared.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-04-08 18:35:00 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-04-08 18:41:37 -0600
commitdd94d43c46b1a0f5afee105c104c06d8ec0e886d (patch)
treeda86a331f3190f7ce7bb22a08f5eb9912ceee25d /libs/ardour/port_engine_shared.cc
parent3188fe00aaa928d62d0b57fa8d507c475f8e8015 (diff)
when renaming a port, remove the backend's port map entry based on the *old* name (not the new one)
Diffstat (limited to 'libs/ardour/port_engine_shared.cc')
-rw-r--r--libs/ardour/port_engine_shared.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/port_engine_shared.cc b/libs/ardour/port_engine_shared.cc
index 9606870f99..6175e9650f 100644
--- a/libs/ardour/port_engine_shared.cc
+++ b/libs/ardour/port_engine_shared.cc
@@ -451,6 +451,7 @@ PortEngineSharedImpl::set_port_name (PortEngine::PortHandle port_handle, const s
return -1;
}
+ const std::string old_name = port->name();
int ret = port->set_name (newname);
if (ret == 0) {
@@ -458,7 +459,7 @@ PortEngineSharedImpl::set_port_name (PortEngine::PortHandle port_handle, const s
RCUWriter<PortMap> map_writer (_portmap);
boost::shared_ptr<PortMap> pm = map_writer.get_copy ();
- pm->erase (port->name());
+ pm->erase (old_name);
pm->insert (make_pair (newname, port));
}