Fix Shader uniform leak;

This commit is contained in:
bjorn 2018-08-02 03:26:03 -07:00
parent abd1c75140
commit 76023b4b6c
1 changed files with 6 additions and 0 deletions

View File

@ -1350,6 +1350,12 @@ Shader* lovrShaderCreateDefault(DefaultShader type) {
void lovrShaderDestroy(void* ref) {
Shader* shader = ref;
glDeleteProgram(shader->program);
const char* key;
map_iter_t iter = map_iter(&shader->uniforms);
while ((key = map_next(&shader->uniforms, &iter)) != NULL) {
Uniform* uniform = map_get(&shader->uniforms, key);
free(uniform->value.data);
}
map_deinit(&shader->uniforms);
map_deinit(&shader->attributes);
free(shader);