[Fix] (MG_State/Buffer): Prevent crashing when buffer obj is not created but is going to be deleted.

This commit is contained in:
BZLZHH
2025-07-10 23:08:38 +08:00
parent dae5827666
commit 83cfacf94b
+4 -2
View File
@@ -250,13 +250,15 @@ bool BufferState::ValidateGeneratedName(GLuint buffer) const {
}
void BufferState::Delete(GLuint buffer) {
bufferObjects_[buffer].reset();
MG_Util::Debug::LogD("MG_State: Buffer: Delete buffer %u", buffer);
if (bufferObjects_.size() > buffer)
bufferObjects_[buffer].reset();
indexGenerator_.Delete(buffer);
for (auto& [target, id] : currentBindings_) {
if (id == buffer) id = 0;
}
MG_Util::Debug::LogD("MG_State: Buffer: Delete buffer %u", buffer);
MG_Util::Debug::LogD("MG_State: Buffer: Delete buffer %u successfully", buffer);
}
GLenum BufferState::DeleteN(GLsizei n, const GLuint* buffers) {