diff options
author | Robin Gareus <robin@gareus.org> | 2018-11-26 02:39:55 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-11-26 02:39:55 +0100 |
commit | 13c984c216e1f6e85c29561d4c0ee9599fc512e5 (patch) | |
tree | 99aa3334bc4a2da26fad8cd876067a28dd750aef /libs/ardour/ardour/port.h | |
parent | 4bbfb6ce50e0de3db879f605d7afccfe4f89f458 (diff) |
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.
Diffstat (limited to 'libs/ardour/ardour/port.h')
-rw-r--r-- | libs/ardour/ardour/port.h | 2 |
1 files changed, 1 insertions, 1 deletions
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<Port>, boost::weak_ptr<Port>, bool); void signal_drop (); void drop (); - PBD::ScopedConnection drop_connection; + PBD::ScopedConnectionList drop_connection; PBD::ScopedConnection engine_connection; }; |