From 9c7231c1d9cda244444dbfa05f15ead1bf581dc3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 5 Nov 2010 07:23:45 -0700 Subject: mesa: Don't try to remove an internal shader_program from the hash. It fails on assertions if the key isn't actually present. --- src/mesa/main/shaderobj.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/mesa/main') diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 1d75845590..62de23bd10 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -72,7 +72,8 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr, deleteFlag = (old->RefCount == 0); if (deleteFlag) { - _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); + if (old->Name != 0) + _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); ctx->Driver.DeleteShader(ctx, old); } @@ -213,7 +214,8 @@ _mesa_reference_shader_program(struct gl_context *ctx, deleteFlag = (old->RefCount == 0); if (deleteFlag) { - _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); + if (old->Name != 0) + _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); ctx->Driver.DeleteShaderProgram(ctx, old); } -- cgit v1.2.3