summaryrefslogtreecommitdiff
path: root/ast_function.cpp
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-06-18 17:52:59 -0700
committerCarl Worth <cworth@cworth.org>2010-06-23 19:00:42 -0700
commit12c411504ca86341f8b96c349c15413ee198cc71 (patch)
treeb6b00d8e7c8789b34d1e0f5686959dc95571b93f /ast_function.cpp
parentdc5811fd0c7600b165ddd4e04a0ccae69bb19ec8 (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.cpp3
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);