Fix T48829: Memory leak on Blender Exit
It was possible to have missing outlink but GPUNodes in material.
This commit is contained in:
parent
3d8c2e25a3
commit
5f95ffe350
@ -1732,3 +1732,9 @@ void GPU_pass_free(GPUPass *pass)
|
||||
MEM_freeN(pass->vertexcode);
|
||||
MEM_freeN(pass);
|
||||
}
|
||||
|
||||
void GPU_pass_free_nodes(ListBase *nodes)
|
||||
{
|
||||
gpu_nodes_free(nodes);
|
||||
}
|
||||
|
||||
|
@ -183,6 +183,7 @@ void GPU_pass_update_uniforms(GPUPass *pass);
|
||||
void GPU_pass_unbind(GPUPass *pass);
|
||||
|
||||
void GPU_pass_free(GPUPass *pass);
|
||||
void GPU_pass_free_nodes(ListBase *nodes);
|
||||
|
||||
void gpu_codegen_init(void);
|
||||
void gpu_codegen_exit(void);
|
||||
|
@ -270,6 +270,9 @@ static int GPU_material_construct_end(GPUMaterial *material, const char *passnam
|
||||
material->partangvel = GPU_shader_get_uniform(shader, GPU_builtin_name(GPU_PARTICLE_ANG_VELOCITY));
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
GPU_pass_free_nodes(&material->nodes);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user