remove program from hash table when deleted (bug 979514)

This commit is contained in:
Brian Paul
2004-06-25 14:46:48 +00:00
parent a09db0a7fa
commit c9a415663a

View File

@@ -974,14 +974,13 @@ _mesa_DeletePrograms(GLsizei n, const GLuint *ids)
ctx->Driver.DeleteProgram(ctx, prog); ctx->Driver.DeleteProgram(ctx, prog);
} }
} }
else { /* Always remove entry from hash table.
/* This is necessary as we can't tell from HashLookup * This is necessary as we can't tell from HashLookup
* whether the entry exists with data == 0, or if it * whether the entry exists with data == 0, or if it
* doesn't exist at all. As GenPrograms creates the first * doesn't exist at all. As GenPrograms creates the first
* case below, need to call Remove() to avoid memory leak: * case below, need to call Remove() to avoid memory leak:
*/ */
_mesa_HashRemove(ctx->Shared->Programs, ids[i]); _mesa_HashRemove(ctx->Shared->Programs, ids[i]);
}
} }
} }
} }