From 4b15a54eded7724af3341f4d3fd5a61b3009a209 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 28 May 2014 08:19:41 +0200 Subject: Fix T40388: 2.70a - Blender Render - Texture Stack - persistent checkbox state. Reset 'use_texture' flag of a material tex slot when creating/assigning a texture to an empty slot. --- source/blender/blenkernel/intern/texture.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/texture.c') diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 4fff50153ef..bb956cb085c 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -705,6 +705,10 @@ MTex *add_mtex_id(ID *id, int slot) MEM_freeN(mtex_ar[slot]); mtex_ar[slot] = NULL; } + else if (GS(id->name) == ID_MA) { + /* Reset this slot's ON/OFF toggle, for materials, when slot was empty. */ + ((Material *)id)->septex &= ~(1 << slot); + } mtex_ar[slot] = add_mtex(); @@ -1174,8 +1178,11 @@ void set_current_material_texture(Material *ma, Tex *newtex) id_us_min(&tex->id); if (newtex) { - if (!ma->mtex[act]) + if (!ma->mtex[act]) { ma->mtex[act] = add_mtex(); + /* Reset this slot's ON/OFF toggle, for materials, when slot was empty. */ + ma->septex &= ~(1 << act); + } ma->mtex[act]->tex = newtex; id_us_plus(&newtex->id); -- cgit v1.2.3