From bf82a34fc4aa4a3b348af0638fda2d9b164c89fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Thu, 26 Oct 2017 15:33:30 +0200 Subject: [PATCH] Graphics/Sprite: Fix #138 --- include/Nazara/Graphics/Sprite.inl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/Nazara/Graphics/Sprite.inl b/include/Nazara/Graphics/Sprite.inl index 9759c8a39..7ecf80cf8 100644 --- a/include/Nazara/Graphics/Sprite.inl +++ b/include/Nazara/Graphics/Sprite.inl @@ -282,9 +282,6 @@ namespace Nz */ inline void Sprite::SetTexture(std::size_t skinIndex, TextureRef texture, bool resizeSprite) { - if (resizeSprite && texture && texture->IsValid()) - SetSize(Vector2f(Vector2ui(texture->GetSize()))); - const MaterialRef& material = GetMaterial(skinIndex); if (material->GetReferenceCount() > 1) @@ -292,10 +289,14 @@ namespace Nz MaterialRef newMat = Material::New(*material); // Copy newMat->SetDiffuseMap(std::move(texture)); - SetMaterial(skinIndex, std::move(newMat)); + SetMaterial(skinIndex, std::move(newMat), resizeSprite); } else + { material->SetDiffuseMap(std::move(texture)); + if (resizeSprite && texture && texture->IsValid()) + SetSize(Vector2f(Vector2ui(texture->GetSize()))); + } } /*!