--- src/mesa/drivers/dri/r128/r128_context.c 2006/02/03 13:29:11 1.23 +++ src/mesa/drivers/dri/r128/r128_context.c 2006/04/09 17:48:28 1.24 @@ -296,10 +296,6 @@ _ac_DestroyContext( rmesa->glCtx ); _swrast_DestroyContext( rmesa->glCtx ); - /* free the Mesa context */ - rmesa->glCtx->DriverCtx = NULL; - _mesa_destroy_context(rmesa->glCtx); - if ( release_texture_heaps ) { /* This share group is about to go away, free our private * texture object data. @@ -314,6 +310,10 @@ assert( is_empty_list( & rmesa->swapped ) ); } + /* free the Mesa context */ + rmesa->glCtx->DriverCtx = NULL; + _mesa_destroy_context(rmesa->glCtx); + /* free the option cache */ driDestroyOptionCache (&rmesa->optionCache); --- src/mesa/drivers/dri/r200/r200_context.c 2006/04/04 11:04:30 1.58 +++ src/mesa/drivers/dri/r200/r200_context.c 2006/04/09 17:48:28 1.59 @@ -590,10 +590,6 @@ r200VtxfmtDestroy( rmesa->glCtx ); } - /* free the Mesa context */ - rmesa->glCtx->DriverCtx = NULL; - _mesa_destroy_context( rmesa->glCtx ); - if (rmesa->state.scissor.pClipRects) { FREE(rmesa->state.scissor.pClipRects); rmesa->state.scissor.pClipRects = NULL; @@ -613,6 +609,10 @@ assert( is_empty_list( & rmesa->swapped ) ); } + /* free the Mesa context */ + rmesa->glCtx->DriverCtx = NULL; + _mesa_destroy_context( rmesa->glCtx ); + /* free the option cache */ driDestroyOptionCache (&rmesa->optionCache); --- src/mesa/drivers/dri/radeon/radeon_context.c 2006/04/04 11:04:30 1.51 +++ src/mesa/drivers/dri/radeon/radeon_context.c 2006/04/09 17:48:28 1.52 @@ -521,10 +521,6 @@ radeonVtxfmtDestroy( rmesa->glCtx ); } - /* free the Mesa context */ - rmesa->glCtx->DriverCtx = NULL; - _mesa_destroy_context( rmesa->glCtx ); - _mesa_vector4f_free( &rmesa->tcl.ObjClean ); if (rmesa->state.scissor.pClipRects) { @@ -546,6 +542,10 @@ assert( is_empty_list( & rmesa->swapped ) ); } + /* free the Mesa context */ + rmesa->glCtx->DriverCtx = NULL; + _mesa_destroy_context( rmesa->glCtx ); + /* free the option cache */ driDestroyOptionCache (&rmesa->optionCache);