draw: fix translate double-free, minor cleanups
authorKeith Whitwell <keith@tungstengraphics.com>
Fri, 9 May 2008 14:02:59 +0000 (15:02 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Fri, 9 May 2008 14:02:59 +0000 (15:02 +0100)
src/gallium/auxiliary/draw/draw_pipe_vbuf.c
src/gallium/auxiliary/draw/draw_pt_fetch.c
src/gallium/auxiliary/draw/draw_pt_fetch_emit.c

index 86a7d1c730311a619650c95ffc85ae9fffb1939a..67b9a9503d2d8b36e57c19b6006c2a1693058b18 100644 (file)
@@ -427,9 +427,6 @@ static void vbuf_destroy( struct draw_stage *stage )
    if(vbuf->indices)
       align_free( vbuf->indices );
    
-   if(vbuf->translate)
-      vbuf->translate->release( vbuf->translate );
-
    if (vbuf->render)
       vbuf->render->destroy( vbuf->render );
 
index 100117a9aef6c13958ea57af6dba81610c95c142..b96335b7895bfb8285a68e33c51b86f2682f0dd7 100644 (file)
@@ -184,7 +184,8 @@ struct pt_fetch *draw_pt_fetch_create( struct draw_context *draw )
 
 void draw_pt_fetch_destroy( struct pt_fetch *fetch )
 {
-   translate_cache_destroy(fetch->cache);
+   if (fetch->cache)
+      translate_cache_destroy(fetch->cache);
 
    FREE(fetch);
 }
index b7b970a297fdae81aeb7272c32fe124e421a8f09..4ea7d4359ffde05e2a08fa17b1ab48105f014568 100644 (file)
@@ -268,7 +268,8 @@ static void fetch_emit_destroy( struct draw_pt_middle_end *middle )
 {
    struct fetch_emit_middle_end *feme = (struct fetch_emit_middle_end *)middle;
 
-   translate_cache_destroy(feme->cache);
+   if (feme->cache)
+      translate_cache_destroy(feme->cache);
 
    FREE(middle);
 }