mirror of
https://github.com/edubart/otclient.git
synced 2025-10-19 05:53:26 +02:00
Implement message modes for 9.6
Fix possible crash when closing otclient Fix private messages Fix messages in 9.6
This commit is contained in:
@@ -47,7 +47,10 @@ void FrameBuffer::internalCreate()
|
||||
|
||||
FrameBuffer::~FrameBuffer()
|
||||
{
|
||||
assert(!g_app.isTerminated());
|
||||
#ifndef NDEBUG
|
||||
if(g_app.isTerminated())
|
||||
g_logger.warning("FrameBuffer reference not released");
|
||||
#endif
|
||||
if(g_graphics.ok() && m_fbo != 0)
|
||||
glDeleteFramebuffers(1, &m_fbo);
|
||||
}
|
||||
|
@@ -37,7 +37,10 @@ HardwareBuffer::HardwareBuffer(Type type)
|
||||
|
||||
HardwareBuffer::~HardwareBuffer()
|
||||
{
|
||||
assert(!g_app.isTerminated());
|
||||
#ifndef NDEBUG
|
||||
if(g_app.isTerminated())
|
||||
g_logger.warning("HardwareBuffer reference not released");
|
||||
#endif
|
||||
if(g_graphics.ok())
|
||||
glDeleteBuffers(1, &m_id);
|
||||
}
|
||||
|
@@ -44,7 +44,10 @@ Shader::Shader(Shader::ShaderType shaderType)
|
||||
|
||||
Shader::~Shader()
|
||||
{
|
||||
assert(!g_app.isTerminated());
|
||||
#ifndef NDEBUG
|
||||
if(g_app.isTerminated())
|
||||
g_logger.warning("Shader reference not released");
|
||||
#endif
|
||||
if(g_graphics.ok())
|
||||
glDeleteShader(m_shaderId);
|
||||
}
|
||||
|
@@ -38,7 +38,10 @@ ShaderProgram::ShaderProgram()
|
||||
|
||||
ShaderProgram::~ShaderProgram()
|
||||
{
|
||||
assert(!g_app.isTerminated());
|
||||
#ifndef NDEBUG
|
||||
if(g_app.isTerminated())
|
||||
g_logger.warning("ShaderProgram reference not released");
|
||||
#endif
|
||||
if(g_graphics.ok())
|
||||
glDeleteProgram(m_programId);
|
||||
}
|
||||
|
@@ -79,6 +79,10 @@ Texture::Texture(const ImagePtr& image, bool buildMipmaps)
|
||||
|
||||
Texture::~Texture()
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
if(g_app.isTerminated())
|
||||
g_logger.warning("a texture reference was not released");
|
||||
#endif
|
||||
// free texture from gl memory
|
||||
if(g_graphics.ok() && m_id != 0)
|
||||
glDeleteTextures(1, &m_id);
|
||||
|
@@ -37,18 +37,6 @@ void TextureManager::init()
|
||||
|
||||
void TextureManager::terminate()
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
// check for leaks
|
||||
int refs = 0;
|
||||
for(const auto& it : m_textures) {
|
||||
if(it.second->ref_count() > 1) {
|
||||
refs++;
|
||||
g_logger.debug(stdext::format("texture reference released: %s", it.first));
|
||||
}
|
||||
}
|
||||
if(refs > 0)
|
||||
g_logger.debug(stdext::format("%d textures references left", refs));
|
||||
#endif
|
||||
m_textures.clear();
|
||||
m_emptyTexture = nullptr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user