From 13c984c216e1f6e85c29561d4c0ee9599fc512e5 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 26 Nov 2018 02:39:55 +0100 Subject: [PATCH] Fix various issues when the engine disconnects: Previously Port::PortDrop was never handled. The signal was disconnected directly when the connection is re-used by Port::PortSignalDrop. Ports::drop() was not called when the engine was stopped or disconnected, and port-handles were not invalidated. This lead to crashes whenever a port-related operation was performed while the engine was stopped. e.g. adding/removing tracks or plugins (latency recompute, notify port-engine) and various other operations. --- libs/ardour/ardour/port.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h index 9ab850c86b..d053c6aee0 100644 --- a/libs/ardour/ardour/port.h +++ b/libs/ardour/ardour/port.h @@ -183,7 +183,7 @@ private: void port_connected_or_disconnected (boost::weak_ptr, boost::weak_ptr, bool); void signal_drop (); void drop (); - PBD::ScopedConnection drop_connection; + PBD::ScopedConnectionList drop_connection; PBD::ScopedConnection engine_connection; }; -- 2.30.2