summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2000-03-06 16:59:26 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2000-03-06 16:59:26 +0000
commit53f81339a4efe30b2c78285d2515bf33e7a954a7 (patch)
treedd4161915df2cd171497ee54d1cc3559f8f6a1b0 /src
parent2cf228e93d08f036479992705412bfe83b125a92 (diff)
fixed off-by-one errors in matrix stack setup/cleanup
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/context.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 0cf55851b7e..bf3f1926b66 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1,4 +1,4 @@
-/* $Id: context.c,v 1.18.2.7 2000/01/24 16:20:17 brianp Exp $ */
+/* $Id: context.c,v 1.18.2.8 2000/03/06 16:59:26 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -622,7 +622,7 @@ static void initialize_context( GLcontext *ctx )
gl_matrix_alloc_inv( &ctx->ModelView );
ctx->ModelViewStackDepth = 0;
- for (i = 0 ; i < MAX_MODELVIEW_STACK_DEPTH ; i++) {
+ for (i = 0; i < MAX_MODELVIEW_STACK_DEPTH - 1; i++) {
gl_matrix_ctr( &ctx->ModelViewStack[i] );
gl_matrix_alloc_inv( &ctx->ModelViewStack[i] );
}
@@ -639,16 +639,16 @@ static void initialize_context( GLcontext *ctx )
ctx->NearFarStack[0][0] = 1.0; /* These values seem weird by make */
ctx->NearFarStack[0][1] = 0.0; /* sense mathematically. */
- for (i = 0 ; i < MAX_PROJECTION_STACK_DEPTH ; i++) {
+ for (i = 0; i < MAX_PROJECTION_STACK_DEPTH - 1; i++) {
gl_matrix_ctr( &ctx->ProjectionStack[i] );
gl_matrix_alloc_inv( &ctx->ProjectionStack[i] );
}
/* Texture matrix */
- for (i=0; i<MAX_TEXTURE_UNITS; i++) {
+ for (i = 0; i < MAX_TEXTURE_UNITS; i++) {
gl_matrix_ctr( &ctx->TextureMatrix[i] );
ctx->TextureStackDepth[i] = 0;
- for (j = 0 ; j < MAX_TEXTURE_STACK_DEPTH ; j++) {
+ for (j = 0; j < MAX_TEXTURE_STACK_DEPTH - 1; j++) {
ctx->TextureStack[i][j].inv = 0;
}
}
@@ -1370,9 +1370,8 @@ void gl_context_initialize( GLcontext *ctx )
void gl_destroy_context( GLcontext *ctx )
{
if (ctx) {
-
- GLuint i;
struct gl_shine_tab *s, *tmps;
+ GLuint i, j;
#ifdef PROFILE
if (getenv("MESA_PROFILE")) {
@@ -1381,13 +1380,19 @@ void gl_destroy_context( GLcontext *ctx )
#endif
gl_matrix_dtr( &ctx->ModelView );
- for (i = 0 ; i < MAX_MODELVIEW_STACK_DEPTH ; i++) {
+ for (i = 0 ; i < MAX_MODELVIEW_STACK_DEPTH - 1; i++) {
gl_matrix_dtr( &ctx->ModelViewStack[i] );
}
gl_matrix_dtr( &ctx->ProjectionMatrix );
- for (i = 0 ; i < MAX_PROJECTION_STACK_DEPTH ; i++) {
+ for (i = 0 ; i < MAX_PROJECTION_STACK_DEPTH - 1; i++) {
gl_matrix_dtr( &ctx->ProjectionStack[i] );
}
+ for (i = 0; i < MAX_TEXTURE_UNITS; i++) {
+ gl_matrix_dtr( &ctx->TextureMatrix[i] );
+ for (j = 0; j < MAX_TEXTURE_STACK_DEPTH - 1; j++) {
+ gl_matrix_dtr( &ctx->TextureStack[i][j] );
+ }
+ }
FREE( ctx->PB );