remove program from hash table when deleted (bug 979514)
This commit is contained in:
@@ -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]);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user