gallium: move _vbo_DestroyContext() call
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 16 Sep 2008 14:51:28 +0000 (08:51 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 16 Sep 2008 14:51:56 +0000 (08:51 -0600)
Call it before freeing core Mesa state to avoid references to freed buffer objects.

src/mesa/state_tracker/st_context.c

index 08d4db7f7f42791db1f48f29816d84c1cfa77e62..534c7c12ac7482b342c5a30977d721b6d73ee6ee 100644 (file)
@@ -188,8 +188,6 @@ static void st_destroy_context_priv( struct st_context *st )
    st_destroy_drawtex(st);
 #endif
 
-   _vbo_DestroyContext(st->ctx);
-
    for (i = 0; i < Elements(st->state.sampler_texture); i++) {
       pipe_texture_reference(&st->state.sampler_texture[i], NULL);
    }
@@ -223,6 +221,8 @@ void st_destroy_context( struct st_context *st )
 
    _mesa_delete_program_cache(st->ctx, st->pixel_xfer.cache);
 
+   _vbo_DestroyContext(st->ctx);
+
    _mesa_free_context_data(ctx);
 
    st_destroy_context_priv(st);