Fixed the issue where the program wouldn’t close properly in binaries built with MinGW

This commit is contained in:
2025-12-05 02:08:27 +08:00
parent 5757f10cf2
commit e730a250b7
4 changed files with 24 additions and 0 deletions

View File

@ -46,9 +46,13 @@ namespace Prism
OpenGLVertexBuffer::~OpenGLVertexBuffer() OpenGLVertexBuffer::~OpenGLVertexBuffer()
{ {
#ifdef __MINGW32__
glDeleteBuffers(1, &m_RendererID);
#else
Renderer::Submit([this](){ Renderer::Submit([this](){
glDeleteBuffers(1, &m_RendererID); glDeleteBuffers(1, &m_RendererID);
}); });
#endif
} }
void OpenGLVertexBuffer::SetData(void* buffer, uint32_t size, uint32_t offset) void OpenGLVertexBuffer::SetData(void* buffer, uint32_t size, uint32_t offset)
@ -89,9 +93,13 @@ namespace Prism
OpenGLIndexBuffer::~OpenGLIndexBuffer() OpenGLIndexBuffer::~OpenGLIndexBuffer()
{ {
#ifdef __MINGW32__
glDeleteBuffers(1, &m_RendererID);
#else
Renderer::Submit([this](){ Renderer::Submit([this](){
glDeleteBuffers(1, &m_RendererID); glDeleteBuffers(1, &m_RendererID);
}); });
#endif
} }
void OpenGLIndexBuffer::SetData(void* data, uint32_t size, uint32_t offset) void OpenGLIndexBuffer::SetData(void* data, uint32_t size, uint32_t offset)

View File

@ -19,9 +19,13 @@ namespace Prism
OpenGLFrameBuffer::~OpenGLFrameBuffer() OpenGLFrameBuffer::~OpenGLFrameBuffer()
{ {
#ifdef __MINGW32__
glDeleteFramebuffers(1, &m_RendererID);
#else
Renderer::Submit([=](){ Renderer::Submit([=](){
glDeleteFramebuffers(1, &m_RendererID); glDeleteFramebuffers(1, &m_RendererID);
}); });
#endif
} }
void OpenGLFrameBuffer::Bind() const void OpenGLFrameBuffer::Bind() const

View File

@ -116,9 +116,13 @@ namespace Prism
OpenGLTexture2D::~OpenGLTexture2D() OpenGLTexture2D::~OpenGLTexture2D()
{ {
#ifdef __MINGW32__
glDeleteTextures(1, &m_RendererID);
#else
Renderer::Submit([this](){ Renderer::Submit([this](){
glDeleteTextures(1, &m_RendererID); glDeleteTextures(1, &m_RendererID);
}); });
#endif
} }
void OpenGLTexture2D::Bind(uint32_t slot) const void OpenGLTexture2D::Bind(uint32_t slot) const
@ -275,9 +279,13 @@ namespace Prism
OpenGLTextureCube::~OpenGLTextureCube() OpenGLTextureCube::~OpenGLTextureCube()
{ {
#ifdef __MINGW32__
glDeleteTextures(1, &m_RendererID);
#else
Renderer::Submit([this]() { Renderer::Submit([this]() {
glDeleteTextures(1, &m_RendererID); glDeleteTextures(1, &m_RendererID);
}); });
#endif
} }
void OpenGLTextureCube::Bind(uint32_t slot) const void OpenGLTextureCube::Bind(uint32_t slot) const

View File

@ -38,9 +38,13 @@ namespace Prism
OpenGLVertexArray::~OpenGLVertexArray() OpenGLVertexArray::~OpenGLVertexArray()
{ {
#ifdef __MINGW32__
glDeleteVertexArrays(1, &m_RendererID);
#else
Renderer::Submit([this](){ Renderer::Submit([this](){
glDeleteVertexArrays(1, &m_RendererID); glDeleteVertexArrays(1, &m_RendererID);
}); });
#endif
} }
void OpenGLVertexArray::Bind() const void OpenGLVertexArray::Bind() const