diff options
author | Carl Hetherington <carl@carlh.net> | 2009-10-12 17:46:17 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-10-12 17:46:17 +0000 |
commit | c221b09560842b71773eee15972d87c222baf6a1 (patch) | |
tree | f662857f688abcea219f099f41ad4f787459e623 /libs/ardour/control_protocol_manager.cc | |
parent | 25102143b24533145d16e7aeb204810541ebfd6c (diff) |
Set up the ControlProtocolManager singleton in a slightly more robust way.
git-svn-id: svn://localhost/ardour2/branches/3.0@5768 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/control_protocol_manager.cc')
-rw-r--r-- | libs/ardour/control_protocol_manager.cc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc index be173e7102..f0bdfae874 100644 --- a/libs/ardour/control_protocol_manager.cc +++ b/libs/ardour/control_protocol_manager.cc @@ -39,12 +39,9 @@ ControlProtocolManager* ControlProtocolManager::_instance = 0; const string ControlProtocolManager::state_node_name = X_("ControlProtocols"); ControlProtocolManager::ControlProtocolManager () + : _session (0) { - if (_instance == 0) { - _instance = this; - } - - _session = 0; + } ControlProtocolManager::~ControlProtocolManager() @@ -388,3 +385,13 @@ ControlProtocolManager::set_protocol_states (const XMLNode& node) cpi->state = new XMLNode (*child); } } + +ControlProtocolManager& +ControlProtocolManager::instance () +{ + if (_instance == 0) { + _instance = new ControlProtocolManager (); + } + + return *_instance; +} |