summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r128/r128_context.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-04-09 17:48:28 +0000
committerEric Anholt <anholt@FreeBSD.org>2006-04-09 17:48:28 +0000
commit8c3d15ce28f90e41002eaddc8ac9304c8b3dbab9 (patch)
treeea72be444884157b86694f78449ba76698fb32e5 /src/mesa/drivers/dri/r128/r128_context.c
parent83a43aca233cfdf8f8cac26895ef4ea4105d96af (diff)
Destroy the GL context after driDestroyTextureHeap, because the driver's
DestroyTexObj has a dependence on the glCtx and may segfault otherwise.
Diffstat (limited to 'src/mesa/drivers/dri/r128/r128_context.c')
-rw-r--r--src/mesa/drivers/dri/r128/r128_context.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r128/r128_context.c b/src/mesa/drivers/dri/r128/r128_context.c
index 75f618ad37..6194d128f4 100644
--- a/src/mesa/drivers/dri/r128/r128_context.c
+++ b/src/mesa/drivers/dri/r128/r128_context.c
@@ -296,10 +296,6 @@ void r128DestroyContext( __DRIcontextPrivate *driContextPriv )
_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 @@ void r128DestroyContext( __DRIcontextPrivate *driContextPriv )
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);