glsl2: When stealing var->constant_value, steal its children as well.
authorEric Anholt <eric@anholt.net>
Tue, 27 Jul 2010 22:25:07 +0000 (15:25 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 27 Jul 2010 22:25:07 +0000 (15:25 -0700)
Fixes:
glsl1-GLSL 1.20 uniform array constructor

src/glsl/ir.cpp

index 6dccbd806e852ebbd076a39eea0adc74c68bab5d..c75d560c48cb07adf593149839a1ea6c328dc5a1 100644 (file)
@@ -911,7 +911,7 @@ steal_memory(ir_instruction *ir, void *new_ctx)
    ir_variable *var = ir->as_variable();
    ir_constant *constant = ir->as_constant();
    if (var != NULL && var->constant_value != NULL)
-      talloc_steal(ir, var->constant_value);
+      steal_memory(var->constant_value, ir);
 
    /* The components of aggregate constants are not visited by the normal
     * visitor, so steal their values by hand.