Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2011-03-04 15:59:09 +0300
committerTon Roosendaal <ton@blender.org>2011-03-04 15:59:09 +0300
commit24fa1d1f0434fe1c1a44cdcbe8537f37c0132749 (patch)
tree083efe4f464563dc8acdc5b6cc4d7ef4b02e6f4b
parent5b6223fdeb413d0c99cfe800e8cef81b44f001d2 (diff)
Two additional fixes for node-tree + texture paint:
- "need exec" flag was cleared in wrong tree for preview renders (it should clear it in the copy, i did in original). This fixes projection paint on images with previews open - Previews for nodes were copied always, now only for previews invoked by node editor itself.
-rw-r--r--source/blender/blenkernel/intern/node.c4
-rw-r--r--source/blender/editors/render/render_preview.c27
2 files changed, 16 insertions, 15 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 3cc2c673e8e..46a7b9cbeec 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -2815,14 +2815,14 @@ bNodeTree *ntreeLocalize(bNodeTree *ntree)
/* end animdata uglyness */
/* ensures only a single output node is enabled */
- ntreeSetOutput(ntree);
+ ntreeSetOutput(ltree);
for(node= ntree->nodes.first; node; node= node->next) {
/* store new_node pointer to original */
node->new_node->new_node= node;
/* ensure new user input gets handled ok */
- node->need_exec= 0;
+ node->new_node->need_exec= 0;
if(ntree->type==NTREE_COMPOSIT) {
/* move over the compbufs */
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 1a454341f01..33f81bb7d16 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -983,19 +983,20 @@ static void shader_preview_updatejob(void *spv)
ShaderPreview *sp= spv;
if(sp->id) {
- if( GS(sp->id->name) == ID_MA) {
- Material *mat= (Material *)sp->id;
-
- if(sp->matcopy && mat->nodetree && sp->matcopy->nodetree)
- ntreeLocalSync(sp->matcopy->nodetree, mat->nodetree);
- }
- else if( GS(sp->id->name) == ID_TE) {
- Tex *tex= (Tex *)sp->id;
-
- if(sp->texcopy && tex->nodetree && sp->texcopy->nodetree)
- ntreeLocalSync(sp->texcopy->nodetree, tex->nodetree);
- }
-
+ if(sp->pr_method==PR_NODE_RENDER) {
+ if( GS(sp->id->name) == ID_MA) {
+ Material *mat= (Material *)sp->id;
+
+ if(sp->matcopy && mat->nodetree && sp->matcopy->nodetree)
+ ntreeLocalSync(sp->matcopy->nodetree, mat->nodetree);
+ }
+ else if( GS(sp->id->name) == ID_TE) {
+ Tex *tex= (Tex *)sp->id;
+
+ if(sp->texcopy && tex->nodetree && sp->texcopy->nodetree)
+ ntreeLocalSync(sp->texcopy->nodetree, tex->nodetree);
+ }
+ }
}
}