diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/internal_send.h | 1 | ||||
-rw-r--r-- | libs/ardour/internal_send.cc | 14 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libs/ardour/ardour/internal_send.h b/libs/ardour/ardour/internal_send.h index 3b069af194..245a136dc8 100644 --- a/libs/ardour/ardour/internal_send.h +++ b/libs/ardour/ardour/internal_send.h @@ -57,6 +57,7 @@ class InternalSend : public Send void send_to_going_away (); int connect_when_legal (); + int set_our_state (XMLNode const &, int); }; } // namespace ARDOUR diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc index 2f7e0728f5..f44c0617db 100644 --- a/libs/ardour/internal_send.cc +++ b/libs/ardour/internal_send.cc @@ -49,7 +49,8 @@ InternalSend::InternalSend (Session& s, boost::shared_ptr<MuteMaster> mm, boost: InternalSend::InternalSend (Session& s, boost::shared_ptr<MuteMaster> mm, const XMLNode& node) : Send (s, mm, node, Stateful::loading_state_version, Delivery::Aux /* will be reset in set_state() */) { - set_state (node, Stateful::loading_state_version); + /* Send constructor will set its state, so here we just need to set up our own */ + set_our_state (node, Stateful::loading_state_version); } InternalSend::~InternalSend () @@ -170,12 +171,10 @@ InternalSend::get_state() } int -InternalSend::set_state (const XMLNode& node, int version) +InternalSend::set_our_state (const XMLNode& node, int version) { const XMLProperty* prop; - Send::set_state (node, version); - if ((prop = node.property ("target")) != 0) { _send_to_id = prop->value(); @@ -196,6 +195,13 @@ InternalSend::set_state (const XMLNode& node, int version) } int +InternalSend::set_state (const XMLNode& node, int version) +{ + Send::set_state (node, version); + return set_our_state (node, version); +} + +int InternalSend::connect_when_legal () { connect_c.disconnect (); |