Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma)

This commit is contained in:
Brian Paul 2001-07-19 15:54:34 +00:00
parent 2a9eca0ed4
commit fd28445e10
3 changed files with 18 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* $Id: ac_context.c,v 1.4 2001/04/28 08:39:18 keithw Exp $ */
/* $Id: ac_context.c,v 1.5 2001/07/19 15:54:35 brianp Exp $ */
/*
* Mesa 3-D graphics library
@ -263,6 +263,10 @@ void _ac_DestroyContext( GLcontext *ctx )
}
if (ac->Elts) FREE( ac->Elts );
/* Free the context structure itself */
FREE(ac);
ctx->acache_context = NULL;
}
void _ac_InvalidateState( GLcontext *ctx, GLuint new_state )

View file

@ -1,4 +1,4 @@
/* $Id: context.c,v 1.144 2001/06/26 01:32:48 brianp Exp $ */
/* $Id: context.c,v 1.145 2001/07/19 15:54:34 brianp Exp $ */
/*
* Mesa 3-D graphics library
@ -1607,6 +1607,13 @@ _mesa_free_context_data( GLcontext *ctx )
}
}
_math_matrix_dtr( &ctx->_ModelProjectMatrix );
_math_matrix_dtr(&ctx->ColorMatrix);
for (j = 0; j < MAX_COLOR_STACK_DEPTH - 1; j++) {
_math_matrix_dtr(&ctx->ColorStack[j]);
}
_glthread_LOCK_MUTEX(ctx->Shared->Mutex);
ctx->Shared->RefCount--;
assert(ctx->Shared->RefCount >= 0);
@ -1625,6 +1632,7 @@ _mesa_free_context_data( GLcontext *ctx )
_mesa_free_texture_object( NULL, ctx->Texture.Proxy1D );
_mesa_free_texture_object( NULL, ctx->Texture.Proxy2D );
_mesa_free_texture_object( NULL, ctx->Texture.Proxy3D );
_mesa_free_texture_object( NULL, ctx->Texture.ProxyCubeMap );
/* Free evaluator data */
if (ctx->EvalMap.Map1Vertex3.Points)
@ -1670,6 +1678,8 @@ _mesa_free_context_data( GLcontext *ctx )
_mesa_free_colortable_data( &ctx->PostColorMatrixColorTable );
_mesa_free_colortable_data( &ctx->Texture.Palette );
_math_matrix_dtr(&ctx->Viewport._WindowMap);
_mesa_extensions_dtr(ctx);
FREE(ctx->Exec);

View file

@ -1,4 +1,4 @@
/* $Id: t_context.c,v 1.21 2001/07/12 22:09:21 keithw Exp $ */
/* $Id: t_context.c,v 1.22 2001/07/19 15:54:35 brianp Exp $ */
/*
* Mesa 3-D graphics library
@ -139,6 +139,7 @@ _tnl_DestroyContext( GLcontext *ctx )
_tnl_array_destroy( ctx );
_tnl_imm_destroy( ctx );
_tnl_destroy_pipeline( ctx );
_tnl_free_immediate( tnl->freed_immediate );
FREE(tnl);
ctx->swtnl_context = 0;