ensure that when a Session emits Port::PortDrop, transport master ports are left in place
This commit is contained in:
parent
afcc95167e
commit
e6b12bd0aa
@ -185,6 +185,7 @@ private:
|
|||||||
|
|
||||||
void port_connected_or_disconnected (boost::weak_ptr<Port>, boost::weak_ptr<Port>, bool);
|
void port_connected_or_disconnected (boost::weak_ptr<Port>, boost::weak_ptr<Port>, bool);
|
||||||
void signal_drop ();
|
void signal_drop ();
|
||||||
|
void session_global_drop ();
|
||||||
void drop ();
|
void drop ();
|
||||||
PBD::ScopedConnectionList drop_connection;
|
PBD::ScopedConnectionList drop_connection;
|
||||||
PBD::ScopedConnection engine_connection;
|
PBD::ScopedConnection engine_connection;
|
||||||
|
@ -83,7 +83,7 @@ Port::Port (std::string const & n, DataType t, PortFlags f)
|
|||||||
}
|
}
|
||||||
DEBUG_TRACE (DEBUG::Ports, string_compose ("registed port %1 handle %2\n", name(), _port_handle));
|
DEBUG_TRACE (DEBUG::Ports, string_compose ("registed port %1 handle %2\n", name(), _port_handle));
|
||||||
|
|
||||||
PortDrop.connect_same_thread (drop_connection, boost::bind (&Port::drop, this));
|
PortDrop.connect_same_thread (drop_connection, boost::bind (&Port::session_global_drop, this));
|
||||||
PortSignalDrop.connect_same_thread (drop_connection, boost::bind (&Port::signal_drop, this));
|
PortSignalDrop.connect_same_thread (drop_connection, boost::bind (&Port::signal_drop, this));
|
||||||
port_manager->PortConnectedOrDisconnected.connect_same_thread (engine_connection, boost::bind (&Port::port_connected_or_disconnected, this, _1, _3, _5));
|
port_manager->PortConnectedOrDisconnected.connect_same_thread (engine_connection, boost::bind (&Port::port_connected_or_disconnected, this, _1, _3, _5));
|
||||||
}
|
}
|
||||||
@ -127,6 +127,16 @@ Port::set_pretty_name(const std::string& n)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Port::session_global_drop()
|
||||||
|
{
|
||||||
|
if (_flags & TransportMasterPort) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
drop ();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Port::signal_drop ()
|
Port::signal_drop ()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user