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-Tag: 062012170305~6668 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9c7231c1d9cda244444dbfa05f15ead1bf581dc3;p=profile%2Fivi%2Fmesa.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 1d75845..62de23b 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); }