[Bf-blender-cvs] [5811076] master: Fix crash rendering linked scenes in compo
Sergey Sharybin
noreply at git.blender.org
Fri May 23 17:42:22 CEST 2014
Commit: 5811076d0dd9df7f87837160c4eea168a0a1e256
Author: Sergey Sharybin
Date: Fri May 23 17:40:45 2014 +0200
https://developer.blender.org/rB5811076d0dd9df7f87837160c4eea168a0a1e256
Fix crash rendering linked scenes in compo
Simply linking scene (lib.blend) without compo into another one (compo.blend),
using it in a compositor and rendering it would crash.
===================================================================
M source/blender/render/intern/source/pipeline.c
===================================================================
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index d6b5258..537714a 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1806,7 +1806,8 @@ static void ntree_render_scenes(Render *re)
{
bNode *node;
int cfra = re->scene->r.cfra;
- int restore_scene = 0;
+ Scene *restore_scene = re->scene;
+ bool scene_changed = false;
if (re->scene->nodetree == NULL) return;
@@ -1820,18 +1821,18 @@ static void ntree_render_scenes(Render *re)
if (node->flag & NODE_TEST) {
Scene *scene = (Scene *)node->id;
+ scene_changed |= scene != restore_scene;
render_scene(re, scene, cfra);
- restore_scene = (scene != re->scene);
node->flag &= ~NODE_TEST;
- nodeUpdate(re->scene->nodetree, node);
+ nodeUpdate(restore_scene->nodetree, node);
}
}
}
}
/* restore scene if we rendered another last */
- if (restore_scene)
+ if (scene_changed)
BKE_scene_set_background(re->main, re->scene);
}
More information about the Bf-blender-cvs
mailing list