Fixed crash on Utility uninitialisation
Former-commit-id: ef9f53674fe21c4d7780e68c62f7981554663a85
This commit is contained in:
parent
cfe1bcf107
commit
9662f4167d
|
|
@ -16,6 +16,8 @@ class NAZARA_API NzGuillotineTextureAtlas : public NzGuillotineImageAtlas
|
||||||
NzGuillotineTextureAtlas() = default;
|
NzGuillotineTextureAtlas() = default;
|
||||||
~NzGuillotineTextureAtlas() = default;
|
~NzGuillotineTextureAtlas() = default;
|
||||||
|
|
||||||
|
nzUInt32 GetStorage() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NzAbstractImage* ResizeImage(NzAbstractImage* oldImage, const NzVector2ui& size) const override;
|
NzAbstractImage* ResizeImage(NzAbstractImage* oldImage, const NzVector2ui& size) const override;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/SparsePtr.hpp>
|
#include <Nazara/Core/SparsePtr.hpp>
|
||||||
#include <Nazara/Math/Rect.hpp>
|
#include <Nazara/Math/Rect.hpp>
|
||||||
|
#include <Nazara/Utility/Enums.hpp>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
class NzAbstractImage;
|
class NzAbstractImage;
|
||||||
|
|
@ -29,6 +30,7 @@ class NAZARA_API NzAbstractAtlas
|
||||||
virtual void Free(NzSparsePtr<const NzRectui> rects, NzSparsePtr<unsigned int> layers, unsigned int count) = 0;
|
virtual void Free(NzSparsePtr<const NzRectui> rects, NzSparsePtr<unsigned int> layers, unsigned int count) = 0;
|
||||||
virtual NzAbstractImage* GetLayer(unsigned int layerIndex) const = 0;
|
virtual NzAbstractImage* GetLayer(unsigned int layerIndex) const = 0;
|
||||||
virtual unsigned int GetLayerCount() const = 0;
|
virtual unsigned int GetLayerCount() const = 0;
|
||||||
|
virtual nzUInt32 GetStorage() const = 0;
|
||||||
virtual bool Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex) = 0;
|
virtual bool Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex) = 0;
|
||||||
|
|
||||||
void RemoveListener(Listener* font) const;
|
void RemoveListener(Listener* font) const;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ class NAZARA_API NzGuillotineImageAtlas : public NzAbstractAtlas
|
||||||
NzGuillotineBinPack::GuillotineSplitHeuristic GetRectSplitHeuristic() const;
|
NzGuillotineBinPack::GuillotineSplitHeuristic GetRectSplitHeuristic() const;
|
||||||
NzAbstractImage* GetLayer(unsigned int layerIndex) const;
|
NzAbstractImage* GetLayer(unsigned int layerIndex) const;
|
||||||
unsigned int GetLayerCount() const;
|
unsigned int GetLayerCount() const;
|
||||||
|
nzUInt32 GetStorage() const;
|
||||||
|
|
||||||
bool Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex);
|
bool Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,10 @@ void NzGraphics::Uninitialize()
|
||||||
// Libération du module
|
// Libération du module
|
||||||
s_moduleReferenceCounter = 0;
|
s_moduleReferenceCounter = 0;
|
||||||
|
|
||||||
|
// Libération de l'atlas s'il vient de nous
|
||||||
|
if (NzFont::GetDefaultAtlas()->GetStorage() & nzDataStorage_Hardware)
|
||||||
|
NzFont::SetDefaultAtlas(nullptr);
|
||||||
|
|
||||||
// Loaders
|
// Loaders
|
||||||
NzLoaders_Mesh_Unregister();
|
NzLoaders_Mesh_Unregister();
|
||||||
NzLoaders_OBJ_Unregister();
|
NzLoaders_OBJ_Unregister();
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,11 @@
|
||||||
#include <Nazara/Renderer/Texture.hpp>
|
#include <Nazara/Renderer/Texture.hpp>
|
||||||
#include <Nazara/Graphics/Debug.hpp>
|
#include <Nazara/Graphics/Debug.hpp>
|
||||||
|
|
||||||
|
nzUInt32 NzGuillotineTextureAtlas::GetStorage() const
|
||||||
|
{
|
||||||
|
return nzDataStorage_Hardware;
|
||||||
|
}
|
||||||
|
|
||||||
NzAbstractImage* NzGuillotineTextureAtlas::ResizeImage(NzAbstractImage* oldImage, const NzVector2ui& size) const
|
NzAbstractImage* NzGuillotineTextureAtlas::ResizeImage(NzAbstractImage* oldImage, const NzVector2ui& size) const
|
||||||
{
|
{
|
||||||
std::unique_ptr<NzTexture> newTexture(new NzTexture);
|
std::unique_ptr<NzTexture> newTexture(new NzTexture);
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,11 @@ unsigned int NzGuillotineImageAtlas::GetLayerCount() const
|
||||||
return m_layers.size();
|
return m_layers.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nzUInt32 NzGuillotineImageAtlas::GetStorage() const
|
||||||
|
{
|
||||||
|
return nzDataStorage_Software;
|
||||||
|
}
|
||||||
|
|
||||||
bool NzGuillotineImageAtlas::Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex)
|
bool NzGuillotineImageAtlas::Insert(const NzImage& image, NzRectui* rect, bool* flipped, unsigned int* layerIndex)
|
||||||
{
|
{
|
||||||
if (m_layers.empty())
|
if (m_layers.empty())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue