diff options
author | Carl Worth <cworth@cworth.org> | 2010-06-18 17:52:59 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-06-23 19:00:42 -0700 |
commit | 12c411504ca86341f8b96c349c15413ee198cc71 (patch) | |
tree | b6b00d8e7c8789b34d1e0f5686959dc95571b93f /ast_function.cpp | |
parent | dc5811fd0c7600b165ddd4e04a0ccae69bb19ec8 (diff) |
Close memory leaks in glsl_type (constructor and get_array_instance)
Add a talloc ctx to both get_array_instance and the glsl_type
constructor in order to be able to call talloc_size instead of
malloc.
This fix now makes glsl-orangebook-ch06-bump.frag 99.99% leak free:
total heap usage: 55,623 allocs, 55,615
Only 8 missing frees now.
Diffstat (limited to 'ast_function.cpp')
-rw-r--r-- | ast_function.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ast_function.cpp b/ast_function.cpp index 9550d4d2f0..761af00b95 100644 --- a/ast_function.cpp +++ b/ast_function.cpp @@ -279,7 +279,8 @@ process_array_constructor(exec_list *instructions, if (constructor_type->length == 0) { constructor_type = - glsl_type::get_array_instance(constructor_type->element_type(), + glsl_type::get_array_instance(state, + constructor_type->element_type(), parameter_count); assert(constructor_type != NULL); assert(constructor_type->length == parameter_count); |