summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/internal_send.h1
-rw-r--r--libs/ardour/internal_send.cc14
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 ();