From 80e40d504c457ed3041fed925a6b3f80f54dffe1 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Fri, 17 Apr 2009 10:38:10 +0000 Subject: 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. --- source/blender/nodes/intern/TEX_nodes/TEX_texture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/nodes/intern/TEX_nodes') 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, -- cgit v1.2.3