From 78587ea0122d34e13c078d095aa5b730ce24bb73 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 Nov 2010 15:31:28 -0700 Subject: [PATCH] mesa: fix glDeleteBuffers() regression This fixes a regression (failed assertion) from commit c552f273f559968dfd770367e25329baccbcd0c4 which was hit if glDeleteBuffers() was called on a buffer that was never bound. NOTE: this is a candidate for the 7.9 branch. --- src/mesa/main/bufferobj.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index df44fbe46cf..4d62f54a95a 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -998,7 +998,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) struct gl_array_object *arrayObj = ctx->Array.ArrayObj; GLuint j; - ASSERT(bufObj->Name == ids[i]); + ASSERT(bufObj->Name == ids[i] || bufObj == &DummyBufferObject); if (_mesa_bufferobj_mapped(bufObj)) { /* if mapped, unmap it now */ @@ -1039,7 +1039,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) } /* The ID is immediately freed for re-use */ - _mesa_HashRemove(ctx->Shared->BufferObjects, bufObj->Name); + _mesa_HashRemove(ctx->Shared->BufferObjects, ids[i]); _mesa_reference_buffer_object(ctx, &bufObj, NULL); } } -- 2.30.2