[Mesa-dev] [PATCH] glsl2: Fixed cloning of ir_call error instructions.
Tilman Sauerbeck
tilman at code-monkey.de
Fri Sep 17 16:56:34 PDT 2010
Those have the callee field set to the null pointer, so
calling the public constructor will segfault.
Signed-off-by: Tilman Sauerbeck <tilman at code-monkey.de>
---
src/glsl/ir_clone.cpp | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/glsl/ir_clone.cpp b/src/glsl/ir_clone.cpp
index aa84cf0..18543a3 100644
--- a/src/glsl/ir_clone.cpp
+++ b/src/glsl/ir_clone.cpp
@@ -141,6 +141,9 @@ ir_loop::clone(void *mem_ctx, struct hash_table *ht) const
ir_call *
ir_call::clone(void *mem_ctx, struct hash_table *ht) const
{
+ if (this->type == glsl_type::error_type)
+ return ir_call::get_error_instruction(mem_ctx);
+
exec_list new_parameters;
foreach_iter(exec_list_iterator, iter, this->actual_parameters) {
--
1.7.2.3
More information about the mesa-dev
mailing list