diff options
-rw-r--r-- | orkaudio/OrkAudio.cpp | 4 | ||||
-rw-r--r-- | orkbasecxx/ConfigManager.cpp | 8 | ||||
-rw-r--r-- | orkbasecxx/ConfigManager.h | 2 |
3 files changed, 9 insertions, 5 deletions
diff --git a/orkaudio/OrkAudio.cpp b/orkaudio/OrkAudio.cpp index 7ae6b18..bb02ea9 100644 --- a/orkaudio/OrkAudio.cpp +++ b/orkaudio/OrkAudio.cpp @@ -181,6 +181,8 @@ void MainThread() OrkLogManager::Instance()->Initialize(); LOG4CXX_INFO(LOG.rootLog, CStdString("\n\nOrkAudio service starting\n")); + ConfigManager::Instance()->Initialize(); + // Initialize object factory and register existing objects ObjectFactory::GetSingleton()->Initialize(); @@ -206,8 +208,6 @@ void MainThread() //objRef.reset(new TestMsg); //ObjectFactory::GetSingleton()->RegisterObject(objRef); - ConfigManager::Instance()->Initialize(); - bool capturePluginOk = false; if(CapturePluginProxy::Singleton()->Initialize()) { diff --git a/orkbasecxx/ConfigManager.cpp b/orkbasecxx/ConfigManager.cpp index adba47d..85ad41e 100644 --- a/orkbasecxx/ConfigManager.cpp +++ b/orkbasecxx/ConfigManager.cpp @@ -30,11 +30,15 @@ # define snprintf _snprintf #endif -ConfigManager ConfigManager::m_singleton; +ConfigManager* ConfigManager::m_singleton = NULL; ConfigManager* ConfigManager::Instance() { - return &m_singleton; + if(m_singleton == NULL) + { + m_singleton = new ConfigManager(); + } + return m_singleton; } void ConfigManager::Initialize() diff --git a/orkbasecxx/ConfigManager.h b/orkbasecxx/ConfigManager.h index a899b05..8d478f7 100644 --- a/orkbasecxx/ConfigManager.h +++ b/orkbasecxx/ConfigManager.h @@ -31,7 +31,7 @@ public: Config m_config; private: - static ConfigManager m_singleton; + static ConfigManager* m_singleton; std::list<ConfigureFunction> m_configureFunctions; DOMNode* m_configTopNode; XercesDOMParser *m_parser; |