summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/port.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-26 02:39:55 +0100
committerRobin Gareus <robin@gareus.org>2018-11-26 02:39:55 +0100
commit13c984c216e1f6e85c29561d4c0ee9599fc512e5 (patch)
tree99aa3334bc4a2da26fad8cd876067a28dd750aef /libs/ardour/ardour/port.h
parent4bbfb6ce50e0de3db879f605d7afccfe4f89f458 (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.h2
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;
};