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 mm, boost: InternalSend::InternalSend (Session& s, boost::shared_ptr 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(); @@ -195,6 +194,13 @@ InternalSend::set_state (const XMLNode& node, int version) return 0; } +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 () {