diff options
author | Ton Roosendaal <ton@blender.org> | 2009-04-17 14:38:10 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-04-17 14:38:10 +0400 |
commit | 80e40d504c457ed3041fed925a6b3f80f54dffe1 (patch) | |
tree | 4e3f0cdfa82904277f9e9359dd0a5e54eabb0ce5 /source/blender/nodes/intern/TEX_nodes | |
parent | 6761cc00d4f79f603a7e52b33e0aad26e210cbd2 (diff) |
bugfix #18287
Texture nodes hang when nodes have a cyclic case.
Added a (temp?) provision to tag node->need_exec zero for cyclic
nodes, and added check for this in texture nodes.
There was also a bug in 'tag changed' for texture nodes, which not
only tagged, but also called the tree exec (should not happen!).
In general the texture exec needs recode; it doesn't use the stacks
as provided per node, but recurses itself to previous nodes, giving
problems like this. Node execs should only do their own bizz, the
node system handles dependency and eval order nicely already.
Diffstat (limited to 'source/blender/nodes/intern/TEX_nodes')
-rw-r--r-- | source/blender/nodes/intern/TEX_nodes/TEX_texture.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c index 884d2cd0eb6..30492b84764 100644 --- a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c +++ b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c @@ -47,7 +47,7 @@ static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, shor Tex *nodetex = (Tex *)node->id; - if(node->custom2) { + if(node->custom2 || node->need_exec==0) { /* this node refers to its own texture tree! */ QUATCOPY( out, |