diff options
Diffstat (limited to 'source/blender/blenkernel/intern/texture.c')
-rw-r--r-- | source/blender/blenkernel/intern/texture.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 9dd83181521..bdd9b424f3b 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -1073,21 +1073,19 @@ void set_current_material_texture(Material *ma, Tex *newtex) { Tex *tex = NULL; bNode *node; + + if (ma && ma->use_nodes && ma->nodetree) { + node = nodeGetActiveID(ma->nodetree, ID_TE); - if ((ma->use_nodes && ma->nodetree) && - (node = nodeGetActiveID(ma->nodetree, ID_TE))) - { - tex = (Tex *)node->id; - id_us_min(&tex->id); - if (newtex) { + if (node) { + tex = (Tex *)node->id; + id_us_min(&tex->id); node->id = &newtex->id; id_us_plus(&newtex->id); - } - else { - node->id = NULL; + ma = NULL; } } - else { + if (ma) { int act = (int)ma->texact; tex = (ma->mtex[act]) ? ma->mtex[act]->tex : NULL; |