From 2942eab57c9677e87d0830fe5e5da35abb869417 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Mar 2012 20:41:13 +0000 Subject: Fix #30413: dynamic paint crash with texture slots with no texture assigned. --- source/blender/render/intern/source/render_texture.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'source/blender/render') diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 49bacbaf693..1e91738c77d 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -3556,6 +3556,8 @@ Material *RE_init_sample_material(Material *orig_mat, Scene *scene) if(mat->mtex[tex_nr]) { MTex *mtex = mat->mtex[tex_nr]; + if(!mtex->tex) continue; + /* only keep compatible texflags */ mtex->texflag = mtex->texflag & (MTEX_RGBTOINT | MTEX_STENCIL | MTEX_NEGATIVE | MTEX_ALPHAMIX); @@ -3629,9 +3631,12 @@ void RE_free_sample_material(Material *mat) if(mat->septex & (1<mtex[tex_nr]) { MTex *mtex= mat->mtex[tex_nr]; - free_texture(mtex->tex); - MEM_freeN(mtex->tex); - mtex->tex = NULL; + + if(mtex->tex) { + free_texture(mtex->tex); + MEM_freeN(mtex->tex); + mtex->tex = NULL; + } } } -- cgit v1.2.3