From 88cf5aa783fc16043b31bc4cc0744412712dc22f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 May 2006 16:27:39 +0000 Subject: [PATCH] In __glXPushArrayState() we weren't pushing the index field. But later, in __glXPopArrayState(), we were using that field to set the active_texture_unit. The value was garbage and could lead to things blowing up. See bug 6863. --- src/glx/x11/indirect_vertex_array.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/glx/x11/indirect_vertex_array.c b/src/glx/x11/indirect_vertex_array.c index 24bca425a2e..5a5cd6697ea 100644 --- a/src/glx/x11/indirect_vertex_array.c +++ b/src/glx/x11/indirect_vertex_array.c @@ -1766,13 +1766,14 @@ __glXPushArrayState( __GLXattribute * state ) struct array_stack_state * stack = & arrays->stack[ (arrays->stack_index * arrays->num_arrays)]; unsigned i; - + /* XXX are we pushing _all_ the necessary fields? */ for ( i = 0 ; i < arrays->num_arrays ; i++ ) { stack[i].data = arrays->arrays[i].data; stack[i].data_type = arrays->arrays[i].data_type; stack[i].user_stride = arrays->arrays[i].user_stride; stack[i].count = arrays->arrays[i].count; stack[i].key = arrays->arrays[i].key; + stack[i].index = arrays->arrays[i].index; stack[i].enabled = arrays->arrays[i].enabled; } -- 2.30.2