From 0a1df98c0420e9ac097622f2bddcd73a6488ed52 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 20 Nov 2008 00:33:28 +0100 Subject: SingletonPtr hinzugefuegt --- src/Common/Initializable.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/Common/Initializable.cpp') diff --git a/src/Common/Initializable.cpp b/src/Common/Initializable.cpp index 9e7a49e..65893a1 100644 --- a/src/Common/Initializable.cpp +++ b/src/Common/Initializable.cpp @@ -28,12 +28,17 @@ namespace Mad { namespace Common { std::stack Initializable::initializedObjects; - +bool Initializable::logInit = false; void Initializable::init() { if(initialized) return; + if(!logInit) { + logInit = true; + LogManager::get(); + } + if(initializing) { Logger::log(Logger::CRITICAL, "Fatal initialization error: cyclic dependencies."); std::terminate(); @@ -41,9 +46,6 @@ void Initializable::init() { initializing = true; - if(!(LogManager::get()->isInitialized() || LogManager::get()->isInitializing())) - LogManager::get()->init(); - doInit(); Configurable *c = dynamic_cast(this); @@ -68,6 +70,8 @@ void Initializable::deinit() { initializedObjects.pop(); } + + logInit = false; } } -- cgit v1.2.3