From: Eric Anholt Date: Fri, 5 Nov 2010 14:23:45 +0000 (-0700) Subject: mesa: Don't try to remove an internal shader_program from the hash. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9c7231c1d9cda244444dbfa05f15ead1bf581dc3;p=mesa.git mesa: Don't try to remove an internal shader_program from the hash. It fails on assertions if the key isn't actually present. --- diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 1d75845590f..62de23bd100 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); }