diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-06-01 20:17:38 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-06-01 20:17:38 +0400 |
commit | 81982140b862c07dc1a7ddc2ce995339b1eb4547 (patch) | |
tree | df361af193a805db8a1898cdb68264693bdfe9ba /source/blender/blenkernel | |
parent | f50fb549dbee9d5ca1aea8a9f07313f2c8cde7f4 (diff) |
Fix #27550: texture node editor header was still showing texture datablock
selector even if there is no active texture slot or node, now it's disabled
in that case.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_texture.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/texture.c | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h index c8fa7a5e81f..9fb93f60fd5 100644 --- a/source/blender/blenkernel/BKE_texture.h +++ b/source/blender/blenkernel/BKE_texture.h @@ -103,6 +103,8 @@ void set_current_material_texture(struct Material *ma, struct Tex *tex); void set_current_lamp_texture(struct Lamp *la, struct Tex *tex); void set_current_particle_texture(struct ParticleSettings *part, struct Tex *tex); +int has_current_material_texture(struct Material *ma); + struct TexMapping *add_mapping(void); void init_mapping(struct TexMapping *texmap); diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 9cd07de31dc..64f3c111434 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -1191,6 +1191,28 @@ void set_current_material_texture(Material *ma, Tex *newtex) } } +int has_current_material_texture(Material *ma) +{ + bNode *node; + + if(ma && ma->use_nodes && ma->nodetree) { + node= nodeGetActiveID(ma->nodetree, ID_TE); + + if(node) { + return 1; + } + else { + node= nodeGetActiveID(ma->nodetree, ID_MA); + if(node) + ma= (Material*)node->id; + else + ma= NULL; + } + } + + return (ma != NULL); +} + Tex *give_current_world_texture(World *world) { MTex *mtex= NULL; |