Fixed calling Uninitialize when not Initialized
Former-commit-id: 1d0bb01f881be76e163a5ac27c91d7fb6a873bb7
This commit is contained in:
parent
cc132e271b
commit
dc9f202155
|
|
@ -35,10 +35,17 @@ bool NzModuleName::IsInitialized()
|
|||
|
||||
void NzModuleName::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
NazaraNotice("Uninitialized: ModuleName module");
|
||||
|
||||
|
|
|
|||
|
|
@ -35,10 +35,17 @@ bool Nz3D::IsInitialized()
|
|||
|
||||
void Nz3D::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
NazaraNotice("Uninitialized: 3D module");
|
||||
|
||||
|
|
|
|||
|
|
@ -253,13 +253,22 @@ void NzAudio::SetSpeedOfSound(float speed)
|
|||
|
||||
void NzAudio::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
// Loaders
|
||||
NzLoaders_sndfile_Unregister();
|
||||
|
||||
// Libération du module
|
||||
// Libération d'OpenAL
|
||||
alcMakeContextCurrent(nullptr);
|
||||
alcDestroyContext(context);
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,18 @@ bool NzCore::IsInitialized()
|
|||
|
||||
void NzCore::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
NazaraNotice("Uninitialized: Core");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,10 +35,17 @@ bool NzNoise::IsInitialized()
|
|||
|
||||
void NzNoise::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
// Libération des dépendances
|
||||
NzCore::Uninitialize();
|
||||
|
|
|
|||
|
|
@ -986,8 +986,17 @@ void NzRenderer::SetViewport(const NzRectui& viewport)
|
|||
|
||||
void NzRenderer::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
// Loaders
|
||||
NzLoaders_Texture_Unregister();
|
||||
|
|
@ -996,7 +1005,6 @@ void NzRenderer::Uninitialize()
|
|||
NzDebugDrawer::Uninitialize();
|
||||
#endif
|
||||
|
||||
// Libération du module
|
||||
NzContext::EnsureContext();
|
||||
|
||||
// Libération des VAOs
|
||||
|
|
|
|||
|
|
@ -78,10 +78,18 @@ bool NzUtility::IsInitialized()
|
|||
|
||||
void NzUtility::Uninitialize()
|
||||
{
|
||||
if (--s_moduleReferenceCounter != 0)
|
||||
return; // Encore utilisé
|
||||
if (s_moduleReferenceCounter != 1)
|
||||
{
|
||||
// Le module est soit encore utilisé, soit pas initialisé
|
||||
if (s_moduleReferenceCounter > 1)
|
||||
s_moduleReferenceCounter--;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Libération du module
|
||||
s_moduleReferenceCounter = 0;
|
||||
|
||||
NzLoaders_MD2_Unregister();
|
||||
NzLoaders_MD5Mesh_Unregister();
|
||||
NzLoaders_PCX_Unregister();
|
||||
|
|
|
|||
Loading…
Reference in New Issue