13
0

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.
This commit is contained in:
Robin Gareus 2018-11-26 02:39:55 +01:00
parent 4bbfb6ce50
commit 13c984c216
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -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;
};