From 00d636fb1cde8694b9b0fe1980b61751baa42a15 Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 29 Jan 2013 01:57:51 +0100 Subject: [PATCH] Changed module initialisation behavior Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314 --- include/Nazara/Core/Core.hpp | 2 +- src/Nazara/Core/Core.cpp | 7 +++++-- src/Nazara/Renderer/Renderer.cpp | 5 +++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/Nazara/Core/Core.hpp b/include/Nazara/Core/Core.hpp index 7ba3e59fe..680c2c485 100644 --- a/include/Nazara/Core/Core.hpp +++ b/include/Nazara/Core/Core.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzCore NzCore() = delete; ~NzCore() = delete; - static bool Initialize(bool initializeHardwareInfo = true, bool initializeTaskScheduler = true); + static bool Initialize(bool initializeHardwareInfo = false, bool initializeTaskScheduler = false); static bool IsInitialized(); diff --git a/src/Nazara/Core/Core.cpp b/src/Nazara/Core/Core.cpp index 75c143c16..00beb54b4 100644 --- a/src/Nazara/Core/Core.cpp +++ b/src/Nazara/Core/Core.cpp @@ -12,8 +12,7 @@ bool NzCore::Initialize(bool initializeHardwareInfo, bool initializeTaskScheduler) { - if (s_moduleReferenceCounter++ != 0) - return true; // Déjà initialisé + s_moduleReferenceCounter++; // Initialisation du module if (initializeHardwareInfo && !NzHardwareInfo::Initialize()) @@ -27,6 +26,10 @@ bool NzCore::Initialize(bool initializeHardwareInfo, bool initializeTaskSchedule return false; } + // Vérification après l'initialisation des sous-modules + if (s_moduleReferenceCounter != 0) + return true; // Déjà initialisé + NazaraNotice("Initialized: Core"); return true; diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index e66d79afa..2fa9ed06e 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -364,7 +364,12 @@ bool NzRenderer::HasCapability(nzRendererCap capability) bool NzRenderer::Initialize(bool initializeDebugDrawer) { if (s_moduleReferenceCounter++ != 0) + { + if (initializeDebugDrawer && !NzDebugDrawer::Initialize()) + NazaraWarning("Failed to initialize debug drawer"); // Non-critique + return true; // Déjà initialisé + } // Initialisation des dépendances if (!NzUtility::Initialize())