From dd94d43c46b1a0f5afee105c104c06d8ec0e886d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 8 Apr 2020 18:35:00 -0600 Subject: when renaming a port, remove the backend's port map entry based on the *old* name (not the new one) --- libs/ardour/port_engine_shared.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libs/ardour/port_engine_shared.cc') 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 map_writer (_portmap); boost::shared_ptr pm = map_writer.get_copy (); - pm->erase (port->name()); + pm->erase (old_name); pm->insert (make_pair (newname, port)); } -- cgit v1.2.3