From 94cdb91ec6957cc498c850f911b58b8e5d66d54e Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 23 Nov 2009 20:44:42 +0000 Subject: [PATCH] Prevent Send::set_state being called twice when constructing InternalSends, thereby eliminating a warning about send ID. git-svn-id: svn://localhost/ardour2/branches/3.0@6160 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/internal_send.h | 1 + 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 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 () {