[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33481] trunk/blender/source/blender/ render/intern/source/pipeline.c: Fix part of #25040: rendering multiple scenes from compositing nodes didn't
Brecht Van Lommel
brechtvanlommel at pandora.be
Sun Dec 5 11:14:34 CET 2010
Revision: 33481
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33481
Author: blendix
Date: 2010-12-05 11:14:34 +0100 (Sun, 05 Dec 2010)
Log Message:
-----------
Fix part of #25040: rendering multiple scenes from compositing nodes didn't
restore current scene properly afterwards.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/pipeline.c
Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c 2010-12-05 09:20:18 UTC (rev 33480)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c 2010-12-05 10:14:34 UTC (rev 33481)
@@ -2205,6 +2205,7 @@
{
bNode *node;
int cfra= re->scene->r.cfra;
+ int restore_scene= 0;
if(re->scene->nodetree==NULL) return;
@@ -2216,12 +2217,19 @@
if(node->type==CMP_NODE_R_LAYERS) {
if(node->id && node->id != (ID *)re->scene) {
if(node->id->flag & LIB_DOIT) {
- render_scene(re, (Scene *)node->id, cfra);
+ Scene *scene = (Scene*)node->id;
+
+ render_scene(re, scene, cfra);
+ restore_scene= (scene != re->scene);
node->id->flag &= ~LIB_DOIT;
}
}
}
}
+
+ /* restore scene if we rendered another last */
+ if(restore_scene)
+ set_scene_bg(re->main, re->scene);
}
/* helper call to detect if theres a composite with render-result node */
More information about the Bf-blender-cvs
mailing list