From 182e97a2cd4bdca9709dbbd1a4e6c175aed448a6 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Tue, 29 Apr 2014 20:39:25 +0900 Subject: [PATCH] Fix T39941: Freestyle: Rendered preview crashes when non-primary render layer is selected and disabled. Freestyle relies on render layer name (RenderLayer::name) to find the render layer that corresponds to a scene render layer being rendered. When the active render layer is disabled during preview rendering, the function render_result_new() populates the list of render layers (RenderResult::layers) with an unnamed render layer while setting the active scene render layer index to zero. This commit fixes the missing initialization of the render layer name by referring to that of the first in the list of scene render layers. --- source/blender/render/intern/source/render_result.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index f63deff04ae..9056305823e 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -604,6 +604,8 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf rl->passflag = SCE_PASS_COMBINED; re->r.actlay = 0; + srl = BLI_findlink(&re->r.layers, re->r.actlay); + BLI_strncpy(rl->name, srl->name, sizeof(rl->name)); } /* border render; calculate offset for use in compositor. compo is centralized coords */