diff --git a/src/Nazara/Renderer/Loaders/Texture/Loader.cpp b/src/Nazara/Renderer/Loaders/Texture/Loader.cpp index 655729805..54d334571 100644 --- a/src/Nazara/Renderer/Loaders/Texture/Loader.cpp +++ b/src/Nazara/Renderer/Loaders/Texture/Loader.cpp @@ -5,7 +5,8 @@ #include #include #include -#include +#include +#include namespace { @@ -21,7 +22,9 @@ namespace { NazaraUnused(parameters); - NzTexture* texture = new NzTexture; + std::unique_ptr texture(new NzTexture); + texture->SetPersistent(false, false); + if (!texture->LoadFromStream(stream)) { NazaraError("Failed to load diffuse map"); @@ -29,8 +32,8 @@ namespace } material->Reset(); - material->SetDiffuseMap(texture); - texture->SetPersistent(false); + material->SetDiffuseMap(texture.get()); + texture.release(); return true; }