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:04:14 +0000 (15:04 +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 2a19e6916af0265e177f47187bae9234c37c1a3d..64a9f9084fb8476623cc6dcc9ac864f12d5ab42b 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 d62cd9358bea7bbdc26cb57f03356b626f9441b8..034e0eccb26e1fb52902eab52ab3da1875d23139 100644 (file)
@@ -223,7 +223,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 8df4241b82cc42e2133f37b9f5a93ebf46f4ae13..bdbb039f9e82a38c138b6eeaa7e2e56caa050869 100644 (file)
@@ -320,7 +320,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);
 }