diff --git a/include/Nazara/Core/ResourceManager.inl b/include/Nazara/Core/ResourceManager.inl index bb2cd984b..33a4620d4 100644 --- a/include/Nazara/Core/ResourceManager.inl +++ b/include/Nazara/Core/ResourceManager.inl @@ -16,8 +16,6 @@ void NzResourceManager::Clear() template NzObjectRef NzResourceManager::Get(const NzString& filePath) { - NzObjectRef ref; - NzString absolutePath = NzFile::AbsolutePath(filePath); auto it = Type::s_managerMap.find(absolutePath); if (it == Type::s_managerMap.end()) @@ -26,13 +24,13 @@ NzObjectRef NzResourceManager::Get(const NzString& fileP if (!resource) { NazaraError("Failed to create resource"); - return ref; + return NzObjectRef(); } if (!resource->LoadFromFile(absolutePath, GetDefaultParameters())) { NazaraError("Failed to load resource from file: " + absolutePath); - return ref; + return NzObjectRef(); } NazaraDebug("Loaded resource from file " + absolutePath); @@ -57,7 +55,10 @@ void NzResourceManager::Purge() { const NzObjectRef& ref = it->second; if (ref.GetReferenceCount() == 1) // Sommes-nous les seuls à détenir la ressource ? + { + NazaraDebug("Purging resource from file " + ref->GetFilePath()); Type::s_managerMap.erase(it++); // Alors on la supprime + } else ++it; }