From 60e3a78221ef254bfb4ad1572bd5ad64d73c02fa Mon Sep 17 00:00:00 2001 From: mittorn Date: Sat, 13 Apr 2019 20:49:07 +0700 Subject: [PATCH] ref_soft: Implement texture free --- r_image.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/r_image.c b/r_image.c index 1744346c..e38b9353 100644 --- a/r_image.c +++ b/r_image.c @@ -886,11 +886,12 @@ static void GL_DeleteTexture( image_t *tex ) { image_t **prev; image_t *cur; + int i; ASSERT( tex != NULL ); // already freed? - if( !tex->pixels) return; + if( !tex->pixels[0]) return; // debug if( !tex->name[0] ) @@ -919,6 +920,10 @@ static void GL_DeleteTexture( image_t *tex ) if( tex->original ) gEngfuncs.FS_FreeImage( tex->original ); + for( i = 0; i < 4; i++ ) + if( tex->pixels[i]) Mem_Free(tex->pixels[i]); + if( tex->alpha_pixels ) Mem_Free(tex->alpha_pixels); + memset( tex, 0, sizeof( *tex )); }