diff options
author | David Robillard <d@drobilla.net> | 2007-03-18 06:07:08 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-03-18 06:07:08 +0000 |
commit | 99904735e066804358f1d0bd138a84f1e9ecda91 (patch) | |
tree | 71a924cf1660b5b00231275bd481bbd27094dd9b /libs/ardour/control_protocol_manager.cc | |
parent | eb270e70a12c410cdd98585ad25bb6d8e384a4f5 (diff) |
Merged with trunk R1612.
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/control_protocol_manager.cc')
-rw-r--r-- | libs/ardour/control_protocol_manager.cc | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc index 72f56794d7..899790dddc 100644 --- a/libs/ardour/control_protocol_manager.cc +++ b/libs/ardour/control_protocol_manager.cc @@ -43,7 +43,6 @@ ControlProtocolManager::~ControlProtocolManager() } control_protocol_info.clear(); - } void @@ -75,12 +74,11 @@ ControlProtocolManager::drop_session () delete *p; } control_protocols.clear (); - + for (list<ControlProtocolInfo*>::iterator p = control_protocol_info.begin(); p != control_protocol_info.end(); ++p) { - delete *p; + // otherwise the ControlProtocol instances are not recreated in set_session + (*p)->requested = true; } - - control_protocol_info.clear(); } } @@ -106,10 +104,6 @@ ControlProtocolManager::instantiate (ControlProtocolInfo& cpi) Glib::Mutex::Lock lm (protocols_lock); control_protocols.push_back (cpi.protocol); - if (cpi.state) { - cpi.protocol->set_state (*cpi.state); - } - return cpi.protocol; } @@ -297,7 +291,6 @@ ControlProtocolManager::set_state (const XMLNode& node) if ((prop = (*citer)->property (X_("name"))) != 0) { ControlProtocolInfo* cpi = cpi_by_name (prop->value()); if (cpi) { - if (!(*citer)->children().empty()) { cpi->state = (*citer)->children().front (); } else { |