From e7d725eefda42ec315d887cfa91c733f26b0f3b1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 29 Aug 2013 00:14:57 +0000 Subject: [PATCH] Fix #36598: blender render crash baking and then doing a full sample render. --- source/blender/render/intern/source/pipeline.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 899c9b335be..518de0cdb93 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1752,6 +1752,7 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree) rectf = MEM_mapallocN(re->rectx * re->recty * sizeof(float) * 4, "fullsample rgba"); for (sample = 0; sample < re->r.osa; sample++) { + Scene *sce; Render *re1; RenderResult rres; int mask; @@ -1763,9 +1764,11 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree) /* also function below assumes this */ tag_scenes_for_render(re); - for (re1 = RenderGlobal.renderlist.first; re1; re1 = re1->next) { - if (re1->scene->id.flag & LIB_DOIT) { - if (re1->r.scemode & R_FULL_SAMPLE) { + for (sce = re->main->scene.first; sce; sce = sce->id.next) { + if (sce->id.flag & LIB_DOIT) { + re1 = RE_GetRender(sce->id.name); + + if (re1 && (re1->r.scemode & R_FULL_SAMPLE)) { if (sample) { BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); render_result_exr_file_read(re1, sample);