diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-08 18:35:00 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-08 18:41:37 -0600 |
commit | dd94d43c46b1a0f5afee105c104c06d8ec0e886d (patch) | |
tree | da86a331f3190f7ce7bb22a08f5eb9912ceee25d /libs/ardour/port_engine_shared.cc | |
parent | 3188fe00aaa928d62d0b57fa8d507c475f8e8015 (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.cc | 3 |
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)); } |